WordPress不用插件创建自定义内容类型

小百度已经给大家介绍了通过Custom Post Type UICMS Press插件创建WordPress自定义内容类型的方法,今天小百度再为大家介绍一下不使用插件创建自定义内容类型的办法。

我们需要做的就是在Functions.php文件里添加相应的代码现实现相应的功能。

我们需要做的就是在主题的functions.php文件添加如下代码:

// 创建叫做“movie”类型的内容 register_post_type(‘movies’, array( ‘label’ => ‘Movies’, ‘public’ => true, ‘show_ui’ => true, ‘capability_type’ => ‘post’, ‘hierarchical’ => false, ‘rewrite’ => array(‘slug’ => ‘movies’), ‘query_var’ => true, ‘supports’ => array( ‘title’, ‘editor’, ‘excerpt’, ‘trackbacks’, ‘custom-fields’, ‘comments’, ‘revisions’, ‘thumbnail’, ‘author’, ‘page-attributes’,) ) );

下面,我们来分析下这段代码。

register_post_type( $post_type, $args ): 此函数接受两个参数$post_type内容类型的名称和 $args,一个参数数组。

label: 内容类型名称的复数形式,显示在管理面板的侧边栏。

public: true/false是否允许在管理界面出现这种类型的内容。

show_ui: true/false显示还是隐藏默认的管理此类型内容的用户界面。

capability_type: 默认情况下,自定义内容类型下的文章可以预览、编辑、删除。

hierarchical: 内容类型是否有层级结构。

rewrite: true/false. 默认情况下是true,也就是说如果输入一个slug变量,那么就会在文章的前面加上 slug name。

query_var: true/false 设置是否将内容类型的名称设为一个查询变量。

大家也可以阅读WordPress Codex了解 register_post_type()函 数。

显示自定义内容类型的文章

为了显示自定义内容类型的文章,请添加下面的代码到循环(loop)中。将“name”用你的内容类型名称替换。 注意: 你不需要在index.php文件中添加自定义的内容类型。你可以创建一个自 定义WordPress页面循环(Loop)里运行下面的查询。

query_posts( ‘post_type=name’);

要显示来自多个内容类型下的文章,将上面的代码改成下面这样,并记得将“movie”改成自定义内容类型的名称。

query_posts(array(‘post_type’ => array(‘post’, ‘movies’)));

使用上面的代码将会显示所有来自普通的内容类型的文章以及其他自定义内容类型下的内容。

思章老师

认准了方向,就要勇敢地走下去,十年磨一剑,我相信,只要坚持,一切都有可能。

相关日志

  1. 没有图片

    2010.05.18

    用FeedBurner同步国内空间博客到Twitter

    最受欢迎的微博Twitter已被天朝拒之墙外…

  2. 没有图片

    2012.03.08

    今夜情归航

    这是土豆网上一个网友无止境的梦的原创录音,是…

  3. 没有图片

    2011.03.02

    iPad2发布会将于3月3日凌晨开始,期待降价

    消息称,iPad2将于2011年月3日凌晨召…

  4. 没有图片

    2010.05.12

    WordPress主题推荐:Unite

    Unite主题是一个强大的集代码设计与交互功…

  5. 没有图片

    2011.01.12

    没有完美的个人,只有完美的团队

    成功源于接纳包容,因为你不可能变得十全十美,…

  6. 没有图片

    2010.12.21

    和谐中国14个经典问题,看你能答出来几个

    第1题:为什么有人从几千米高直接跌落到千米左…

评论

  1. 天天天蓝 2010.06.23 6:13下午

    想评论,可都不知从哪下手,太专业了,我都看不懂^^^^^^^^^^^^^^^^^^

  2. 本·赫利斯 2010.06.22 3:23下午

    技术博啊。

  3. 沉冰浮水 2010.06.21 12:09下午

    强势留爪。。