WordPress自定义内容类型(Custom Post Type)一篇就够了

一、WordPress自定义内容类型(Custom Post Type)是干什么的?

当你的网站要发布的信息,有明显的不同的时候,那么最好能将它们分开单独管理。

在制作企业主题的时候,你的网站内容有一部分是以文字信息为主的内容(新闻、教程之类的内容),而另一部分是以图片为主的内容(产品或案例的展示)。

那么,你就可以创建一个“WordPress自定义内容类型(Custom Post Type)”。和WordPress自带的文章/页面这种自带的文章类型加以区分。

二、如何添加新的WordPress自定义内容类型(Custom Post Type)

// 在主题的 functions.php 中,使用如下代码,可以创建新的内容类型
function weixingv_custom_post_type()
{
    $labels = array(
        'name'              => '职位',
        'singular_name'      =>  '职位',
        'add_new'            =>  '发布职位',
        'add_new_item'       =>  '新增职位' ,
        'edit_item'          =>  '编辑职位' ,
        'new_item'           =>  '新职位' ,
        'all_items'          =>  '职位' ,
        'view_item'          =>  '查看' ,
        'search_items'       =>  '搜索职位' ,
        'not_found'          =>  '没有找到有关职位' ,
        'not_found_in_trash' =>  '回收站里面没有相关职位' ,
        'parent_item_colon'  => '',
        'menu_name'          => '招聘'
    );
    $args = array(
        'labels' => $labels,
        'rewrite' => array('slug' => 'job'),
        'description'   => '我们网站的职位信息',
        'public'        => true,
        'menu_position' => 5,
        'supports'      => array( 'title'),
        'menu_icon'     => 'dashicons-schedule',
        'has_archive'   => true
    );
//调用 register_post_type()函数
    register_post_type('job', $args);
}
//将自定义函数挂载到 init 钩子下
add_action('init', 'weixingv_custom_post_type');

三、WordPress 自带的内容类型

WordPress 自带的内容类型有文章类型(post)、页面类型(page)、附件类型(attachment)、菜单类型(menu)、版本修订类型(revision)

四、WordPress自定义内容类型(Custom Post Type)的模板名称

1、WordPress自定义内容类型(Custom Post Type)详情页(single)的模板名称

在添加自定义内容类型时,可以指定当前内容类型下具体的内容是否有详情页。有详情页,
才会按照模版层级的规则使用模版。
在 wordpress4.7 及以后,你可以给任何内容类型添加自定义模版。具体操作方法是,在你
的主题中创建一个 php 文件,并在头部添加如下注释

<?php
/*
Template Name: Full-width layout
Template Post Type: post, page
*/
// 页面的正常代码

2、WordPress自定义内容类型(Custom Post Type)归档页(archive)的模板名称

特别提醒:
在添加自定义内容类型时,可以指定当前内容类型是否存在归档页。
只有当存在内容类型归档页时,才按照对应的模版层级规则去使用模版文件

评论(0)

发表评论