我想在配置文件设置中隐藏子导航。

我隐藏子导航评论"wp-content\plugins\buddypress\bp-settings\bp-settings-loader.php“
// Add General Settings nav item
$sub_nav[] = array(
'name' => __( 'General', 'buddypress' ),
'slug' => 'general',
'parent_url' => $settings_link,
'parent_slug' => $this->slug,
'screen_function' => 'bp_settings_screen_general',
'position' => 10,
'user_has_access' => bp_core_can_edit_settings()
);发布于 2016-02-11 07:26:52
你指的是什么子导航项目?如果要完全删除“设置”菜单选项,可以在插件或functions.php中这样做
function my_admin_bar_mod(){
global $wp_admin_bar;
$wp_admin_bar->remove_menu( 'my-account-settings' );
}
add_action('wp_before_admin_bar_render','my_admin_bar_mod');若要删除“设置”下的“配置文件”选项,请使用此选项:
$wp_admin_bar->remove_menu( 'my-account-settings-profile' );更新:
下面的代码将删除General选项卡;我相信这是您想要的。对,是这样?这个代码可以做到这一点,但我看到了一个问题。这可能是我的开发站点上的重写问题,其中Settings选项卡会导致4040错误。你能在你的网站上试试这个让我知道吗?
function mcs_bp_remove_nav() {
global $bp;
bp_core_remove_subnav_item( $bp->settings->slug, 'general' );
}
add_action( 'bp_setup_nav', 'mcs_bp_remove_nav', 99);最后:
除上述代码外,还需要此代码。它将设置更改为指向电子邮件选项卡。这是默认的将军,因为这是删除,我们看到一个404。此钩子必须在删除“general”的代码之前触发。
function mcs_bp_change_settings() {
global $bp;
// point setting to Email page (aka 'notifications')
$args = array( 'parent_slug' => 'settings',
'screen_function' => 'bp_core_screen_notification_settings',
'subnav_slug' => 'notifications'
);
bp_core_new_nav_default( $args );
}
add_action( 'bp_setup_nav','mcs_bp_change_settingst', 5);https://stackoverflow.com/questions/35332758
复制相似问题