个性化阅读
专注于IT技术分析

关于WP中CPT自定义菜单位置的问题

我有两个CPT作为”连衣裙”和”休闲”, 我想将它们紧靠在菜单中”仪表板”之后彼此靠近放置。

我的自定义帖子类型都包含以下代码:

'menu_position'       => 2

结果如何显示为:

在此处输入图片说明

“连衣裙”之后的”职位”职位!你能否让我知道为什么会这样, 以及我如何才能在”发布”之前将所有CPT互相保留。(我有5种自定义发布类型)

谢谢


#1


如果Wordpress在你声明的menu_position中已经有一个菜单项, 则它将移至下一个空闲位置。你的问题是仪表板位于位置2, 然后分隔符位于位置4, 因此, 第二种”职位类型”将移至下一个空闲位置6(职位处于5位)。

请注意, 菜单项是按照注册顺序添加的, 因此, 如果它们具有相同的menu_position, 则首先注册的帖子类型将出现在菜单顶部附近。

但是, 你可以根据需要移动默认的WP菜单项, 从而获得所需的显示。

如果你为自定义帖子类型指定menu_position为6和7, 则可以添加此选项以将分隔符移至位置8, 将Posts移至位置9-

add_action('admin_head', 'my_edit_admin_menu');
function my_edit_admin_menu(){

    global $menu;

    $menu[8] = $menu[4];  // Copy 'separator1' to a new menu location
    unset($menu[4]);      // Unset separator1 (from original position)

    $menu[9] = $menu[5];  // Copy 'Posts' to a new menu location
    unset($menu[5]);      // Unset Posts (from original position)

    ksort($menu);         // Sort the menu

}

注意-注册你的自定义帖子类型后(使用init操作), 将调用admin_head操作。因此, 必须确保给定的menu_position值与默认菜单项的值不冲突。如果发生冲突, WP将在你有机会重新排序默认项目之前将其移动。

有关当前WP默认菜单位置, 请参见函数参考的register_post_type()的”参数”部分中的menu_position文档(尽管我认为当前版本3.8已过时)。如果你不确定菜单的组织方式, 请将其添加到上面的代码中, 以在管理区域中输出完整菜单-

echo '<pre>WP Admin Menu: '; print_r($menu); echo '</pre>';

仅供参考-我注意到你正在使用图片作为自定义帖子类型的图标。自WP 3.8起, 这些已从默认管理仪表板中删除, 以支持DashIcons。

要使你的帖子类型看起来和其余的一样漂亮, 只需使用menu_icon参数, 然后从该页面中选择任何图标即可。要获得相关名称, 请单击一个, 然后在页面顶部查看。例如, 第一个图标称为dashicons-menu。


#2


如果两个菜单项使用相同的position属性, 则其中一项可能会被覆盖, 从而仅显示一项!可以通过使用十进制而不是整数值来减少冲突的风险, 例如2.3代替2。

在这里检查https://wordpress.stackexchange.com/questions/8779/placing-a-custom-post-type-menu-above-the-posts-menu-using-menu-position

赞(0)
未经允许不得转载:srcmini » 关于WP中CPT自定义菜单位置的问题

评论 抢沙发

评论前必须登录!