谁能看出我做错了什么吗。
我正在尝试为我的自定义帖子类型“member”注册一个名为“location”的自定义分类法。但在可湿性粉剂后端,它仍然是作为“类别”出现的。
???
add_action(\'init\', \'gws_lt_register_cpts\');
//register custom post types
function gws_lt_register_cpts() {
//member labels
$gws_lt_mem_labels = array(
\'name\' => \'Members\',
\'singular_name\' => \'Member\',
\'add_new\' => \'Add New Member\',
\'add_new_item\' => \'Add New Member\',
\'edit_item\' => \'Edit Member\',
\'new_item\' => \'New Member\',
\'all_items\' => \'All Members\',
\'view_item\' => \'View Member\',
\'view_items\' => \'View Members\',
\'search_items\' => \'Search Members\',
\'not_found\' => \'No Members found\',
\'not_found_in_trash\' => \'No Members found in Trash\',
\'parent_item_colon\' => \'\',
\'archives\' => \'Member Archives\',
\'attributes\' => \'Member Attributes\',
\'insert_into_item\' => \'Insert into Member\',
\'uploaded_to_this_item\' => \'Uploaded to this Member\'
);
//member arguments
$gws_lt_mem_args = array(
\'labels\' => $gws_lt_mem_labels,
\'public\' => true,
\'supports\' => array(\'title\', \'editor\', \'thumbnail\'),
\'has_archive\' => true,
\'taxonomies\' => array(\'locations\')
);
//register members
register_post_type(\'member\', $gws_lt_mem_args);
}
//register taxonomies
add_action(\'init\',\'gws_lt_reg_tax\');
function gws_lt_reg_tax() {
$loc_args = array(\'name\'=> \'Locations\', \'singular_name\'=>\'Location\', \'menu_name\'=>\'Locations\', \'hierarchical\' => true);
register_taxonomy(\'locations\', array(\'member\'), $loc_args);
}
最合适的回答,由SO网友:Jacob Peattie 整理而成
您尚未将标签传递给register_taxonomy() 正确地该函数的工作原理与register_post_type(), 您需要以相同的方式传递标签:作为\'labels\' 参数中的数组。
请参阅the documentation 对于接受标签的完整列表,但本质上,您需要以以下方式组织参数:
$loc_args = array(
\'hierarchical\' => true,
\'labels\' => array(
\'name\' => \'Locations\',
\'singular_name\' => \'Location\',
),
);
register_taxonomy( \'locations\', array( \'member\' ), $loc_args );
不过,这只是其中的两个标签。您需要提供
full list 这样“类别”就不会出现在任何地方。