问题描述
虽然我非常喜欢管理员栏,但我实际上希望将其关闭,而不是 ON(我不想禁用它,因为我希望用户能够打开它,但是我不会想要为每个用户手动关闭它) 有没有办法实现这一点。
最佳解决方案
add_action("user_register", "set_user_admin_bar_false_by_default", 10, 1);
function set_user_admin_bar_false_by_default($user_id) {
update_user_meta( $user_id, 'show_admin_bar_front', 'false' );
update_user_meta( $user_id, 'show_admin_bar_admin', 'false' );
}
放置在主题功能文件中,或者您可以进入插件。
一旦用户注册,将会将用户管理栏设置为 false 。一旦登录,用户就可以将其设置为 true 。
次佳解决方案
function wpse29210_admin_bar_toogle()
{
add_filter( 'show_admin_bar', '__return_false' );
$user = get_userdata( $GLOBALS['current_user'] )->data->ID;
if ( ! is_admin() && $user->show_admin_bar_front )
add_filter( 'show_admin_bar', '__return_true' );
if ( is_admin() && $user->show_admin_bar_admin )
add_filter( 'show_admin_bar', '__return_true' );
return;
}
add_action( 'init', 'wpse29210_admin_bar_toogle' );
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。