WordPress的内容类型(POST TYPE)全解析
1、你的网站为什么需要内容类型(POST TYPE)
当你的网站要发布的信息,有明显的不同的时候,那么最好能将它们分开单独管理。
例如……
你的网站内容有一部分是以文字信息为主的内容,而另一部分是以图片为主的内容。那么,最好的管理方式,不是将它们放在一起,然后根据不同的分类进行区分。最好的管理方式,是有一个地方专门用于发布管理文字信息(比如,在文章里发布文字信息),图片信息则放到另外一个地方进行统一发布管理(就像管理文章一样)。
2、注册新的内容类型(CUSTOM POST TYPE)
// 在主题的 functions.php 中,使用如下代码,可以创建新的内容类型
function tiezhu_custom_post_type()
{
$labels = array(
'name' => '图片',
'singular_name' => '图片',
'add_new' => '发布图片',
'all_items' => '图片列表'
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'pics'),
);
//调用 register_post_type()函数
register_post_type('pics', $args);
}
//将自定义函数挂载到 init 钩子下
add_action('init', 'tiezhu_custom_post_type')
3、WordPress自带的内容类型
WordPress 自带的内容类型有:
文章类型(post)、页面类型(page)、附件类型(attachment)、菜单类型(menu)、版本修订类型(revision)
4、WordPress内容类型模版层级
4.1、内容类型归档页的模版层级
特别提醒:
在添加自定义内容类型时,可以指定当前内容类型是否存在归档页。
只有当存在内容类型归档页时,才按照对应的模版层级规则去使用模版文件
4.2、详情页的模版层级
特别提醒:
在添加自定义内容类型时,可以指定当前内容类型下具体的内容是否有详情页。有详情页,
才会按照模版层级的规则使用模版。
在 wordpress4.7 及以后,你可以给任何内容类型添加自定义模版。具体操作方法是,在你
的主题中创建一个 php 文件,并在头部添加如下注释
<?php
/*
Template Name: Full-width layout
Template Post Type: post, page
*/
// 页面的正常代码
5、WooCommerce添加的内容类型
WooCommerce的数据存储也十分广泛的使用了内容类型,如下
内容类型 | product | product_variation | shop_order | shop_order_refund | shop_webhook |
中文名 | 产品类型 | 可能产品类型 | 订单类型 | 退款类型 | webhook 类型 |
模板情况 | 有归档页、有详情页 | 无归档页、无详情页 | 无归档页、无详情页 | 无归档页、无详情页 | 无归档页、无详情页 |
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END