注册自定义分类时出现问题

时间:2019-02-20 作者:Gavin Stockden

谁能看出我做错了什么吗。

我正在尝试为我的自定义帖子类型“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);

}

1 个回复
最合适的回答,由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 这样“类别”就不会出现在任何地方。

相关推荐