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

时间:2014-01-29 07:34:16

标签: wordpress wordpress-theming

我有两个CPT作为“Dress”和“Casual”,我想在菜单中的“Dashboard”之后将它们放在彼此靠近的位置。

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

'menu_position'       => 2

结果如何显示为: enter image description here

“连衣裙”之后的“帖子”位置!能不能让我知道为什么会发生这种情况以及如何在“发布”之前将所有CPT保持在彼此之后。(我有5个自定义帖子类型)

由于

2 个答案:

答案 0 :(得分:3)

如果Wordpress已经在您声明的menu_position中有一个菜单项,那么它将被移动到下一个空闲位置。您的问题是,信息中心位于2位置,然后分隔符位于4位置,因此您的第二个帖子类型会移动到下一个空闲位置6(帖子是位置5)。

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

但是,如果您愿意,可以移动默认的WP菜单项,从而实现所需的显示。

如果您为自定义帖子类型指定menu_position67,则可以添加此选项以将分隔符移至8位置,将帖子移至位置{ {1}} -

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 } 操作调用操作admin_head。因此,您必须确保给定的init值与默认菜单项的值相冲突。如果发生冲突,WP会在您有机会重新排序默认项目之前移动它们。

请参阅Function Reference for register_post_type()menu_position部分中menu_position的文档,了解当前WP默认菜单位置(尽管我认为版本3.8目前已过期)。如果您不确定菜单的组织方式,请将其添加到上面的代码中以输出管理区域中的完整菜单 -

Arguments

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

要使你的帖子类型看起来像其他人一样漂亮,只需使用echo '<pre>WP Admin Menu: '; print_r($menu); echo '</pre>'; 参数picking any of the icons from this page即可。要获取相关名称,请单击一个,然后查看页面顶部;例如,第一个图标称为menu_icon

答案 1 :(得分:-1)

如果两个菜单项使用相同的位置属性,则可能会覆盖其中一个项目,以便只显示一个项目!使用十进制而不是整数值可以减少冲突风险,例如: 2.3而不是2。

点击https://wordpress.stackexchange.com/questions/8779/placing-a-custom-post-type-menu-above-the-posts-menu-using-menu-position