将分类法​​添加到已注册的自定义帖子类型

时间:2014-09-17 10:15:17

标签: wordpress taxonomy

我想将分类法添加到已注册的自定义帖子类型中。是否有可能或我必须再次删除并创建自定义帖子类型?

 add_action('init', 'create_requirement');

function create_requirement() {
 register_post_type('requirement', array(
    'labels' => array(
        'name'                  => __('Requirements','wpestate'),
        'singular_name'         => __('Requirement','wpestate'),
        'add_new'               => __('Add New Requirement','wpestate'),
        'add_new_item'          => __('Add Requirement','wpestate'),
        'edit'                  => __('Edit','wpestate'),
        'edit_item'             => __('Edit Requirement','wpestate'),
        'new_item'              => __('New Requirement','wpestate'),
        'view'                  => __('View','wpestate'),
        'view_item'             => __('View Requirement','wpestate'),
        'search_items'          => __('Search Requirement','wpestate'),
        'not_found'             => __('No Requirements found','wpestate'),
        'not_found_in_trash'    => __('No Requirements found in Trash','wpestate'),
        'parent'                => __('Parent Property','wpestate')
    ),
    'public' => true,
    'has_archive' => true,
    'rewrite' => array('slug' => 'requirements'),
    'supports' => array('title', 'editor', 'thumbnail', 'comments','tags'),
    'can_export' => true,
    'register_meta_box_cb' => 'add_property_metaboxes',
    'menu_icon'=>get_template_directory_uri().'/images/properties.png'
     )
   );


register_taxonomy('post_tag', 'estate_requirement', array(
'labels' => array(
    'name'              => __('Tags','wpestate'),
    'add_new_item'      => __('Add New Requirement Tag','wpestate'),
    'new_item_name'     => __('New Requirement Tag','wpestate')
  ),
  'hierarchical' => true,
  'query_var' => true,
   'rewrite' => true
  )
 );


 // add custom taxonomy
 register_taxonomy('req_category', 'estate_requirement', array(
 'labels' => array(
    'name'              => __('Requirement Categories','wpestate'),
    'add_new_item'      => __('Add New Requirement Category','wpestate'),
    'new_item_name'     => __('New Requirement Category','wpestate')
 ),
  'hierarchical' => true,
 'query_var' => true,
 'rewrite' => true
 )
 );


// add custom taxonomy
register_taxonomy('req_action_category', 'estate_requirement', array(
'labels' => array(
    'name'              => __('Requirement Action','wpestate'),
    'add_new_item'      => __('Add New Requirement Action','wpestate'),
    'new_item_name'     => __('New Requirement Action','wpestate')
),
'hierarchical' => true,
'query_var' => true,
'rewrite' => true
)

) ;
}

我添加了req_category和req_action_category,但它没有用...

2 个答案:

答案 0 :(得分:1)

这里有两个问题。首先,您无法创建分类post_tagpost_tag是保留名称,实际上用于分类法post_tag中的构建。其次,您的自定义帖子类型称为requirement,但您将分类法添加到名为estate_requirement的帖子类型中。

如果你解决了这两个问题,你应该没问题

答案 1 :(得分:0)

您可以添加分类,而无需删除并重新创建自定义帖子类型。只需修改自定义帖子类型创建功能以包含分类,只要自定义帖子类型的名称保持不变,那么一切都将保持不变。

自定义帖子类型的发布数据全部保存在数据库中(文件除外),如果更改注册功能,则不会删除任何内容。

相关问题