我正在处理一个儿童主题。主主题有一个称为“地点”的自定义帖子类型。我需要把它改成“位置”。但是,我使用wp_post_types 对象
现在我需要更改端点。在前端,URL如下所示domain.com/place/a-permalink. 我需要把它改成domain.com/location/a-permalink
但我无法改变slug。
我查了一些问题,比如this 一但无法理解如何与自定义帖子类型一起使用。我非常需要你的建议。
编辑:在父主题中,以以下方式注册帖子类型:
register_post_type( "$custom_post_type",
array( \'label\' => CUSTOM_MENU_TITLE,
\'labels\' => array( \'name\' => CUSTOM_MENU_NAME,
\'singular_name\' => CUSTOM_MENU_SIGULAR_NAME,
\'add_new\' => CUSTOM_MENU_ADD_NEW,
\'add_new_item\' => CUSTOM_MENU_ADD_NEW_ITEM,
\'edit\' => CUSTOM_MENU_EDIT,
\'edit_item\' => CUSTOM_MENU_EDIT_ITEM,
\'new_item\' => CUSTOM_MENU_NEW,
\'view_item\' => CUSTOM_MENU_VIEW,
\'search_items\' => CUSTOM_MENU_SEARCH,
\'not_found\' => CUSTOM_MENU_NOT_FOUND,
\'not_found_in_trash\' => CUSTOM_MENU_NOT_FOUND_TRASH ),
\'public\' => true,
\'can_export\' => true,
\'show_ui\' => true, // UI in admin panel
\'_builtin\' => false, // It\'s a custom post type, not built in
\'_edit_link\' => \'post.php?post=%d\',
\'capability_type\' => \'post\',
\'menu_icon\' => get_bloginfo(\'template_url\').\'/images/favicon.ico\',
\'hierarchical\' => false,
\'rewrite\' => array("slug" => "$custom_post_type"), // Permalinks
\'query_var\' => "$custom_post_type", // This goes to the WP_Query schema
\'supports\' => array( \'title\',
\'author\',
\'excerpt\',
\'thumbnail\',
\'comments\',
\'editor\',
\'trackbacks\',
\'custom-fields\',
\'revisions\') ,
\'show_in_nav_menus\' => true ,
\'taxonomies\' => array("$custom_cat_type","$custom_tag_type")
)
);
再说一次,我不能触及父主题,我必须从子主题开始做所有事情。
最合适的回答,由SO网友:Cyclonecode 整理而成
注册自定义帖子类型时,应使用rewrite
像这样:
add_action(\'init\', \'create_location\');
function create_location() {
register_post_type(\'location\',
array(
\'labels\' => array(
\'name\' => __(\'Locations\'),
\'singular_name\' => __(\'Location\')
),
\'public\' => true,
\'rewrite\' => array(
\'slug\' => \'location\'
)
)
);
}
不要忘记更新永久链接
example.com/wp-admin/options-permalink.php
然后单击
Save Changes
.
您还应该能够通过使用register_post_type()
再次从儿童主题。
来自的描述register_post_type()
:
创建或修改帖子类型。register\\u post\\u type只能通过“init”操作调用。如果在“init”之前调用,它将不起作用,如果稍后调用,新创建或修改的post类型的方面将无法正常工作。
References
Post Types
Modifying post type - using the registered_post_type hook
Function Reference/register post type