WordPress主题添加自定义文章类型register_post_type和分类法
WordPress 功能强大之处其中之一就是支持自定义文章类型和分类,非常的好用。本文给大家简单说一下如何在我…
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' => __('产品', 'WPGP'),
-
'add_new' => __('添加', 'WPGP'),
-
'add_new_item' => __('新增产品', 'WPGP'),
-
'edit_item' => __('编辑产品', 'WPGP'),
-
'new-item' => __('新增产品', 'WPGP'),
-
'view_item' => __('查看产品', 'WPGP'),
-
'search_items' => __('搜索产品', 'WPGP'),
-
'not_found' => __('未找到产品', 'WPGP'),
-
'not_found_in_trash' => __('垃圾箱未找到产品', 'WPGP'),
-
'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' => __('产品分类', 'WPGP'),
-
'singular_name' => __('产品分类', 'WPGP'),
-
'menu_name' => __('产品分类', 'WPGP'),
-
'search_items' => __('搜索', 'WPGP'),
-
'all_items' => __('所有产品分类', 'WPGP'),
-
'parent_item' => __( '该产品分类的上级分类' ),
-
'parent_item_colon' => __( '该产品分类的上级分类:' ),
-
'edit_item' => __('编辑产品分类', 'WPGP'),
-
'update_item' => __('更新产品分类', 'WPGP'),
-
'add_new_item' => __('添加新的产品分类', 'WPGP'),
-
'new_item_name' => __('新的产品分类', 'WPGP'),
-
);
-
-
$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;
-
} -
}
类别:WordPress教程、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!