高阶操作:wordpress添加自定义文章类型

可以使用默认文章或页面编辑和管理所有内容。反正都是数据,但是这样造成的问题就是混乱,不好管理。就好像不管什么菜一锅煮都是用同样的方法,反正可以装盘吃。WordPress中有很多可定制的部分,而且非常灵活,这是WordPress主题的强项。这也带来了一个问题,关于定制的术语很多,新手很容易混淆。这里稍微解释一下两者的区别。

自定义帖子类型不是常见的文章,如上所述。wordpress自定义文章类型不能替代文章自定义字段。实际上,自定义字段是作为内容的一部分或相关功能的补充。例如,一个内容类型为“电影”的自定义字段可以有多个:导演、演员、风格、海报等。

自定义帖子类型也不是自定义分类法。例如,如果您的wordpress自定义类型是电影,则此时文章的分类可能不适用。你需要添加自定义分类,比如奇幻、恐怖、爱情、动作等等。

创建自定义文章类型的方法

function hx_qui_class() {
    register_post_type( 'series',
        array(
            'labels' => array(
                'name' => '专题',
                'singular_name' => '所有专题',
                'add_new' => '添加专题',
                'add_new_item' => '添加新专题',
                'edit' => '编辑',
                'edit_item' => '编辑专题',
                'new_item' => '新专题',
                'view' => '查看专题',
                'view_item' => '查看专题',
                'search_items' => '搜索专题',
                'not_found' => '没有找到相关专题',
                'not_found_in_trash' => '没有专题评论',
                'parent' => '专题评论',
            ),
            'exclude_from_search'=>false,
            'public' => true,
            'menu_position' => 6,
            'supports' => array( 'title', 'editor','comments', 'custom-fields','thumbnail','excerpt'),
            'taxonomies' => array( '' ),
            'has_archive' => true,

        )
    );
}
add_action( 'init', 'hx_qui_class' );

创建好之后后台就会多出一个自定义的类型,如下图所示:

自定义类型

我特意把两段代码分开些,以便大家可以看懂,下面的是创建隶属于上面新类型的分类法

add_action( 'init', 'hx_qui_class_child', 0 );
function hx_qui_class_child() {
    register_taxonomy(
        'series',
        'series',
        array(
            'labels' => array(
                'name' => '作品专题',
                'add_new_item' => '添加专题',
                'new_item_name' => "新专题分类"
            ),
            'show_ui' => true,
            'show_tagcloud' => true,
            'hierarchical' => true,
        )
    );
}

虽然我们自定义了帖子类型,写了一些内容,但是并没有显示在首页的列表中。自定义帖子类型的内容不会自动混合到主循环中。那么如何让自定义帖子类型的内容显示出来呢,和常规调用数据一样,如下代码:

$args = array( 'post_type' => 'series', 'posts_per_page' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
    the_title();
    echo '<div class="hx_list">';
    the_content();
    echo '</div>';
endwhile;

大功告成,但这只是Post Type最基本的用法。Post类型还有其他更高级的用法,更详细的参数配置需要你进一步挖掘,才能满足你自己的wordpress网站功能需求。

我爱主题网 自2012
主题:260+ 销售:1000+
兼容浏览器

电话咨询

7*12服务咨询电话:

133-7205-6573

微信咨询