加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

WordPress主题添加自定义文章类型register_post_type和分类法

发布时间:2020-12-14 14:31:11 所属栏目:wordpress 来源:网络整理
导读:由站长 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。 wordpress 功能强大之处其中之一就是支持自定义文章类型和分类,非常的好用。本文给大家简单说一下如何在我们的主题中添加自定义文章类型 register_pos

以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考

wordpress 功能强大之处其中之一就是支持自定义文章类型和分类,非常的好用。本文给大家简单说一下如何在我们的主题中添加自定义文章类型 register_post_type 和分类 register_taxonomy。首先,添加自定义文章类型:

/* Register Custom Post Type */

add_action( 'init','create_products_post_type' );

// add portfolio

function create_products_post_type() {

$labels = array(

'name' => __('产品','WPGP'),

'singular_name' => __('产品',

'add_new' => __('添加',

'add_new_item' => __('新增产品',

'edit_item' => __('编辑产品',

'new-item' => __('新增产品',

'view_item' => __('查看产品',

'search_items' => __('搜索产品',

'not_found' => __('未找到产品',

'not_found_in_trash' => __('垃圾箱未找到产品',

'parent_item_colon' => '',

);

?

$args = array(

'labels' => $labels,

'show_ui' => true,// Whether to generate a default UI for managing this post type in the admin

'query_var' => true,

'show_in_nav_menus' => false,

'public' => true,// Controls how the type is visible to authors and readers

'capability_type' => 'post',

'hierarchical' => false,

'menu_icon' => 'dashicons-format-gallery',// use a font icon,e.g. 'dashicons-chart-pie'

'has_archive' => true,// Enables post type archives

'rewrite' => array( 'slug' => 'products' ),

'supports' => array( 'title','editor','thumbnail','excerpt','comments','custom-fields','page-attributes' ),

'can_export' => true,

);

?

register_post_type( 'products',$args );

}

接下来我们需要给自定义文章类型添加分类功能,来对自定义文章进行分类管理:

add_action( 'init','register_products_taxonomy');

?

// create two taxonomies,genres and writers for the post type "book"

function register_products_taxonomy() {

// Add new taxonomy,make it hierarchical (like categories)

$labels = array(

'name' => __('产品分类',

'singular_name' => __('产品分类',

'menu_name' => __('产品分类',

'search_items' => __('搜索',

'all_items' => __('所有产品分类',

'parent_item' => __( '该产品分类的上级分类' ),

'parent_item_colon' => __( '该产品分类的上级分类:' ),

'edit_item' => __('编辑产品分类',

'update_item' => __('更新产品分类',

'add_new_item' => __('添加新的产品分类',

'new_item_name' => __('新的产品分类',

);

?

$args = array(

'hierarchical' => true,

'labels' => $labels,

'show_ui' => true,

'show_in_menu' => true,

'show_in_nav_menus' => true,

'query_var' => true,

'has_archive' => false,

'show_admin_column' => true,

'rewrite' => array( 'slug' => 'product' ),

);

?

register_taxonomy( 'product','products',$args );

}

最后,添加一个控制 WordPress 后台自定义文章页文章排序的小功能:

// admin page products orderby

add_filter( 'parse_query','sort_products_by_date' );

function sort_products_by_date() {

global $pagenow;

?

if ( is_admin() && $pagenow =='edit.php' && !empty($_GET['post_type'] == 'products') && !isset($_GET['post_status']) && !isset($_GET['orderby']) ) {

wp_redirect( admin_url('edit.php?post_type=products&orderby=date&order=desc') );

exit;

}

}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读