简而言之,管理面板导航菜单下拉列表是否有过滤器?
对于非管理员,我需要删除修改/选择特定菜单的权限,但仍允许访问其他菜单。我需要过滤列出的菜单并取消设置特定的“主菜单”,但我很难找到正确的挂钩。
简而言之,管理面板导航菜单下拉列表是否有过滤器?
对于非管理员,我需要删除修改/选择特定菜单的权限,但仍允许访问其他菜单。我需要过滤列出的菜单并取消设置特定的“主菜单”,但我很难找到正确的挂钩。
我相信你想要的过滤器是wp_get_nav_menus
:
function wp_get_nav_menus( $args = array() ) {
$defaults = array( \'hide_empty\' => false, \'orderby\' => \'name\' );
$args = wp_parse_args( $args, $defaults );
/**
* Filter the navigation menu objects being returned.
*
* @since 3.0.0
*
* @see get_terms()
*
* @param array $menus An array of menu objects.
* @param array $args An array of arguments used to retrieve menu objects.
*/
return apply_filters( \'wp_get_nav_menus\', get_terms( \'nav_menu\', $args), $args );
}
Thewp_get_nav_menus()
函数用于的第383行wp-admin-nav-menus.php
设置$nav_menus
变量,该变量在整个文件中的多个位置使用,因此要非常小心。我的主题中的一些CSS正在wp admin中使用。例如,“添加新页面”/wp-admin/post-new.php?post_type=page 是蓝色的,这来自我的主题,正如Chrome代码检查器所述。这是我的主题的功能。php:<?php if ( ! isset( $content_width ) ) $content_width = 940; function register_my_menu() { register_nav_