1

通过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
));

希望有人可以对这个问题有所了解。

4

1 回答 1

0

您可能没有使用该init操作。此外,您将帖子类型命名为Locations,但不允许在帖子类型名称中使用大写字母。

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' );

有很多小错误。您应该检查法典中的示例

于 2013-06-20T09:35:21.940 回答