如何创建自定义帖子类型的新类别?

时间:2011-04-23 作者:coderex

我已经创建了一个名为“jobs”的自定义帖子类型,我想为此创建一组类别,例如“PHP jobs”、“Python jobs”等。

$args = array(
    \'labels\' => $labels,
    \'public\' => true,
    \'publicly_queryable\' => true,
    \'show_ui\' => true, 
    \'show_in_menu\' => true, 
    \'query_var\' => true,
    \'rewrite\' => true,
    \'capability_type\' => \'post\',
    \'exclude_from_search\' => false,
    \'has_archive\' => true, 
    \'hierarchical\' => false,
    \'menu_position\' => 2,
    \'taxonomies\' => array( \'post_tag\', "category"),
    \'menu_icon\' => WJ_PLUGIN_URL .\'/images/admin_menu_icons.png\',
  );

register_post_type(\'jobs\', $args);
但这是nt列出的类别,否则我无法为该类别分配新帖子。虽然$post = wp_insert_post( $post, false );

我也试过了。

$args = array(
..
..
..
\'taxonomies\' => array( \'post_tag\', "job_category"),

 register_taxonomy( \'job_category\', \'jobs\', array( \'hierarchical\' => true, \'label\' => \'Jobs Categories\', \'query_var\' => true, \'rewrite\' => true ) );
无影响。

1 个回复
SO网友:Chris_O

您可以创建一个称为作业类型的分类法,您的术语将是PHP作业等。

在register post类型函数更改中:

\'taxonomies\' => array( \'post_tag\', "category"),

\'taxonomies\' => array(\'job_types\'),

add_action(\'init\' , \'c3m_job_taxonomis\' );
function c3m_job_taxonomies()
  {
     $labels = array(
    \'name\' => _x( \'Job Types\', \'taxonomy general name\' ),
    \'singular_name\' => _x( \'Job Type\', \'taxonomy singular name\' ),
    \'search_items\' =>  __( \'Search Job Types\' ),
    \'all_items\' => __( \'All Job Types\' ),
    \'parent_item\' => __( \'Parent Job Types\' ),
    \'parent_item_colon\' => __( \'Parent Job Type:\' ),
    \'edit_item\' => __( \'Edit Job Type\' ), 
    \'update_item\' => __( \'Update Job Type\' ),
    \'add_new_item\' => __( \'Add New Job Type\' ),
    \'new_item_name\' => __( \'New Job Type\' ),
  );    

  register_taxonomy(\'job_type\',array(\'jobs\'), array(
    \'hierarchical\' => true,
    \'labels\' => $labels,
    \'show_ui\' => true,
    \'query_var\' => true,
    \'show_in_nav_menus\' => true,
     \'rewrite\' => array(\'slug\' => \'job-types\', \'with_front\' => false),
  ));   

}

结束