WordPress主题添加自定义文章类型register_post_type和分类法
以下代码由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】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |