通过register_post_type()
将自定义帖子类型添加到预先存在的菜单时,编辑页面(wp-admin/edit.php?post_type=locations
)不允许显示以下错误消息:You do not have sufficient permissions to access this page.
但是,使用主管理菜单(即'show_in_menu' = true
)可以使页面正常。
注意:管理员帐户正在使用;使用这两种方法创建并显示链接,我希望通过预先存在的菜单访问自定义帖子类型 cms
使用的代码如下:
register_post_type("location", array(
"labels" => array("name" => "Locations", "singular_name" => "Location"),
"show_ui" => true,
"show_in_admin_bar" => true,
"show_in_menu" => "admin.php?page=cms", // => true : works as main menu item
"supports" => array('title'),
"show_in_nav_menus" => false,
"has_archive" => false,
"public" => true
));
希望有人能对这个问题有所了解。
答案 0 :(得分:0)
您可能没有使用init
操作。您还将帖子类型命名为位置,但不允许在帖子类型名称中使用大写字母。
您的show_in_menu
也无效。
functions locations(){
register_post_type("locations", array(
"labels" => array("name" => "Locations", "singular_name" => "Location"),
"show_ui" => true,
"show_in_nav_menus" => false,
"show_in_admin_bar" => true,
"supports" => array('title'),
// Not allowed to view, link is created as sub-menu item
"show_in_menu" => "cms"
// Allowed to view, link is created as main menu item
"show_in_menu" => true
));
}
add_action( 'init', 'locations' );
有许多小错误。您应该查看codex
中的示例