我正在创建一个供个人使用的主题,包括wp内容/mu插件/自定义类型。php,我设置
function artwork_post_types()
{
register_post_type(\'artwork\', array(
\'public\' => true,
\'menu_icon\' => \'dashicons-art\',
\'labels\' => array(
\'name\' => \'Artwork\',
\'add_new_item\' => \'Add New Artwork\',
\'edit_item\' => \'Edit Artwork\',
\'all_items\' => \'All Artwork\',
\'singular_name\' => \'Artwork\',
\'pages\' => true,
\'rewrite\' => array(
\'slug\' => \'art\',
\'with_front\' => false,
))
));
}
add_action(\'init\', \'artwork_post_types\');
之后,我点击设置->;永久链接->;保存更改以更新。然而,slug重写似乎并没有像我所希望的那样起作用。
permalink仍然反映为“艺术品”而不是“艺术”,即。http://domain/artwork/测试而不是http://domain/art/改为测试
最合适的回答,由SO网友:Sally CJ 整理而成
问题是因为rewrite argument 是labels, 但是rewrite 实际上与labels, 所以只要移动rewrite 至之后labels 问题就会消失。:)
register_post_type(\'artwork\', array(
\'public\' => true,
\'menu_icon\' => \'dashicons-art\',
\'labels\' => array(
\'name\' => \'Artwork\',
\'add_new_item\' => \'Add New Artwork\',
\'edit_item\' => \'Edit Artwork\',
\'all_items\' => \'All Artwork\',
\'singular_name\' => \'Artwork\',
),
// Move the "rewrite" to below:
\'rewrite\' => array(
\'slug\' => \'art\',
\'with_front\' => false,
\'pages\' => true, // this also belongs in "rewrite" and not "labels"
),
));