广告投放

给WordPress主题添加自定义文章类型register_post_type和分类教程

目录

    wordpress作为一款简单实用的CMS系统,因为功能强大,便于开发,一直得到很多站长的青睐。最实用之处就是支持自定义文章类型和分类,并且非常的好用。本文章博主就来给大家简单的讲解一下如何在我们的主题中添加自定义文章类型register_post_type和分类register_taxonomy。

    给WordPress主题添加自定义文章类型register_post_type和分类教程
    WordPress

    1、添加自定义文章类型。

    /* 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 );
    }

    2、添加分类功能

    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 );
    }

    3、添加后台自定义文章排序的功能

    // 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;
    }
    }
    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

    给TA打赏
    共{{data.count}}人
    人已打赏
    广告位招租919838898
    0 条回复 A文章作者 M管理员
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    有新私信 私信列表
    搜索