转:WordPress主题添加自定义文章类型register_post_type和分类法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | /* 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 ); } |
接下来我们需要给自定义文章类型添加分类功能,来对自定义文章进行分类管理:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 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 后台自定义文章页文章排序的小功能:
1 2 3 4 5 6 7 8 9 10 | // 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; } } |
转自:https://www.22vd.com/56372.html