我有两个CPT作为“Dress”和“Casual”,我想在菜单中的“Dashboard”之后将它们放在彼此靠近的位置。
我的自定义帖子类型中包含以下代码:
'menu_position' => 2
结果如何显示为:
“连衣裙”之后的“帖子”位置!能不能让我知道为什么会发生这种情况以及如何在“发布”之前将所有CPT保持在彼此之后。(我有5个自定义帖子类型)
由于
答案 0 :(得分:3)
如果Wordpress已经在您声明的menu_position
中有一个菜单项,那么它将被移动到下一个空闲位置。您的问题是,信息中心位于2
位置,然后分隔符位于4
位置,因此您的第二个帖子类型会移动到下一个空闲位置6
(帖子是位置5
)。
请注意,菜单项会按照注册顺序添加,因此如果它们具有相同的menu_position
,则首先注册的帖子类型将显示在菜单顶部附近。
但是,如果您愿意,可以移动默认的WP菜单项,从而实现所需的显示。
如果您为自定义帖子类型指定menu_position
为6
和7
,则可以添加此选项以将分隔符移至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。