小百度已经给大家介绍了通过Custom Post Type UI和CMS 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’)));
使用上面的代码将会显示所有来自普通的内容类型的文章以及其他自定义内容类型下的内容。
想评论,可都不知从哪下手,太专业了,我都看不懂^^^^^^^^^^^^^^^^^^
技术博啊。
强势留爪。。