在一些国外主题中,经常能看到除了能添加普通文章,还能添加类似产品、下载。其实这些都是“自定义文章类型”的功能。它是WordPress自3.0版本以后新增的一个很实用的特色功能。WordPress内置的两种文章类型:Post(文章)和Page(页面),Post一般作为日志使用,Page就作为静态页面。而且不光可以添加自定义文章类型,还可以设置不同文章类型的诸多属性。
创建自定义文章类型
1.通过插件实现
使用Custom Post Type UI插件可以非常简便地管理添加的文章类型。使用方法略,可以自行google,baidu。
2.手动添加
在WordPress官方有非常详细的说明文档,可以先参考下官方的介绍 Custom Post Types。
现在以创建Theme文章类型为例, 可能包括主题的作者,主题的演示页属性等。
首先,在主题包的functions.php文件中增加代码启用该功能:
add_action( 'init', 'create_themes' );
function create_themes() {
$labels = array(
'name' => __('Themes'),
'singular_name' => __('Theme'),
'add_new' => __('Add New'),
'add_new_item' => __('Add New Event'),
'edit_item' => __('Edit Event'),
'new_item' => __('New Event'),
'view_item' => __('View Event'),
'search_items' => __('Search Events'),
'not_found' => __('No Events found'),
);
$supports = array('title', 'editor', 'custom-fields', 'revisions', 'excerpt');
register_post_type( 'theme',array(
'labels' => $labels,
'public' => true,
'supports' => $supports
)
);
}
$label
数组中是文章类型的相关信息
$supports
数组是配置文章类型支持的功能
resister_post_type
就是注册文章类型
上述代码完成之后,就可以在后台管理看到效果,能够和普通的Post文章一样发表。
显示自定义文章
因为自定义文章类型的原因,index首页和single页面无法显示自定义文章,不过wordpress3.0开始可以使用自定义的模版文件(如single-theme.php),这样就可以对自定义文章的页面进行定制。
另外在index首页的时候,默认是无法显示自定义文章的,当然在Page页面也是不行的,不过在页面中我们依然可以使用page-theme.php这样的文件来展示。
在Page页面中要显示属于Theme类型的日志,需要在下面代码:
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
添加:
<?php query_posts(array('post_type'=>'event')); ?>
同样在index.php首页,如果需要显示Post和Theme类型的两种文章,那么以上的代码要稍微修改下:
<?php query_posts(array('post_type'=>array('post','theme')));?>
版权声明:本文为原创文章,版权归 neo 所有。
本文链接:https://idayer.com/wordpress-custom-post-types-usage/
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
0 条评论