将分类法​​插入自定义帖子类型

时间:2014-03-04 09:00:41

标签: wordpress custom-post-type

我已经创建了一个自定义帖子类型并为它创建了一个分类,下面是我用来创建它们的代码:

//create custom post type of jobs
add_action( 'init', 'create_jobs' );
function create_jobs() {
    register_post_type( 'jobs',
        array(
        'labels' => array(
            'name' => 'jobs',
            'singular_name' => 'Jobs',
            'add_new' => 'Add New',
            'add_new_item' => 'Add New Jobs',
            'edit' => 'Edit',
            'edit_item' => 'Edit Jobs',
            'new_item' => 'New Jobs',
            'view' => 'View',
            'view_item' => 'View Jobs',
            'search_items' => 'Search Jobs',
            'not_found' => 'No Jobs found',
            'not_found_in_trash' => 'No Jobs found in Trash',
            'parent' => 'Parent Jobs'
        ),

        'public' => true,
        'menu_position' => 15,
        'supports' => array( 'title', 'editor', 'comments', 'thumbnail' ),
        'taxonomies' => array( '' ),
        'menu_icon' => 'dashicons-visibility',
        'has_archive' => true
        )
    );
}

//create a taxonomy for jobs
add_action( 'init', 'create_jobstax', 0 );
function create_jobstax() {
    register_taxonomy(
    'jobs_taxonomy_genre',
    'jobs',
    array(
        'labels' => array(
            'name' => 'Create Jobs Genre',
            'add_new_item' => 'Add New jobs genre',
            'new_item_name' => "New jobs genre"
        ),

            'show_ui' => true,
            'show_tagcloud' => false,
            'hierarchical' => true          
        )
    );  
}

现在我想要的是仅为该自定义帖子类型插入默认分类法,例如:我想插入“最新”和“活动”作为作业自定义帖子类型的默认分类,如何实现?目前正在寻找一种方法,但似乎没有找到满足我的需求。任何想法,建议和建议都很乐意听到。非常感谢你提前。

2 个答案:

答案 0 :(得分:2)

请试试这个插件,你不需要像这样头疼。您将获得包含类别和标签的帖子类型的完整单独模块 custom post type maker

1)根据您的要求创建一个帖子类型“作业”。 2)然后创建2个分类,名称为“Job category”& '工作标签'。 3)创建分类法时请选择分类法创建页面底部给出的职位类型。

最后,您将获得完整的单独模块以及

答案 1 :(得分:1)

自定义此代码。

add_action('init','create_custom_posts'); 

function create_custom_posts(){
  register_post_type( 'cms_chooser', array(
            'labels' => array(
                'name' => 'CMS Chooser',
                'singular_name' => 'CMS Chooser',
                'add_new' => 'Add New',
                'add_new_item' => 'Add New CMS',
                'edit_item' => 'Edit',
                'edit' => 'CMS',
                'new_item' => 'New CMS',
                'view_item' => 'View Detail',
                'search_items' => 'Search in CMS',
                'not_found' => 'No CMS found',
                'not_found_in_trash' => 'No Posts found in Trash',
                'view' => 'View Post'
            ),
            'public' => true,
            //'capability_type' => 'post',
            'hierarchical' => true,
            'exclude_from_search' => false,
            'show_in_nav_menus' =>  false,
            'query_var' => true,
            'menu_position' => 5,
            'supports' => array('title','page-attributes'),
            'has_archive' => true,
            'taxonomies' => array('cms-category'),
            'rewrite' => array('slug' => 'cms', 'with_front' => false )
        )
    );

    register_taxonomy(
        'cms-category',
        'cms_chooser',
        array(
            'labels' => array(
                'name' => 'Category',
                'singular_name' => 'Category',
                'search_items' =>  'Search Category',
                'popular_items' => 'Popular Category',
                'all_items' => 'All Category',
                'parent_item' => 'Parent Category',
                'parent_item_colon' => 'Parent Category',
                'edit_item' => 'Edit Category',
                'update_item' => 'Update Category',
                'add_new_item' => 'Add New Category',
                'new_item_name' => 'New Category Name'
            ),
            'hierarchical' => false,
            'show_in_nav_menus' =>  false,
            'exclude_from_search' => true,
            'public' => false,
            'show_ui' => true,
            'query_var' => 'cms-category',
            'show_tagcloud' => true,
            'rewrite' => true
        )
    );

}

我会以这种方式接近它。

  1. 为此自定义帖子创建“最新”,“有效”,“xyz”,“blah-blah”类别。
  2. 在管理员端添加js以选择所需的两个类别。 (如果您需要此代码,请告诉我。)