我想在配置文件设置中隐藏子导航
我隐藏子导航评论“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()
);
最佳答案
您指的是什么子导航项?如果您想完全删除“设置”菜单选项,您可以在插件或 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' );
更新:
以下代码将删除常规选项卡;我相信这就是你想要的。正确的?这段代码可以做到这一点,但我看到了一个问题。这可能是我的开发站点上的重写问题,其中“设置”选项卡导致 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);
最后:
除上述代码外,还需要此代码。它更改设置以指向电子邮件选项卡。它默认为 General,因为它已被删除,我们看到了 404。此 Hook 必须在删除“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);
关于php - Wordpress - Buddypress 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35332758/