WordPress 默认的主题上方会有一个工具条(Admin Bar),其主要是为了方便大家进入网站后台,管理个人内容的。但是一个挺漂亮的网站上面挂这么一“黑长直”终归是不太美观,所以很多主题往往通过代码直接将其移除。

目前我所使用的 DUX 主题即是通过代码的方式将其移除的,丑不丑的给大家放上主题移除前后的样式看看。

移除前

移除后

关于如何移除顶部工具条(Admin Bar)网上有很多相关的代码,然而无论代码如何变大都离不开一个函数,那就是:

<?php show_admin_bar( $bool ); ?>

$bool:布尔值(必填项),是否显示顶部工具栏(Admin Bar)

关于该函数的讲解大家可以参考官方文档

由于文档是英文的,这里将几种常用的代码整理如下,方便大家使用:

代码一:

// Hide Admin Bar
show_admin_bar( false );

代码二:

// Hide Admin Bar
add_filter('show_admin_bar', '__return_false');

代码三:

// Hide Admin Bar
add_filter('show_admin_bar', 'hide_admin_bar');
function hide_admin_bar($flag) {
    return false;
}

除了使用代码的方式实现隐藏顶部工具条(Admin Bar),使用默认主题的用户还可以通过主题后台“用户/我的个人资料/工具栏”功能设置其显示还是隐藏,不过该功能似乎仅作用于当前用户,总感觉作用不大,大家自行斟酌使用。

注意:如果你的网站使用了代码的方式将其隐藏,则该功能将不起作用。

除了全局禁用顶部工具条(Admin Bar),你还可以通过下面这个函数根据当前登录用户的身份来判断是否显示工具条:

 <?php current_user_can( $capability , $object_id ); ?>

$capability:字符串(必填),角色或权限,默认为空;

$object_id:整型(选填)用来检测前面元信息权限的,不设置时可能会报错 ‘Undefined offset: 0’,默认为空。

想了解更多该函数的信息可以查阅官方文档

另外,关于 $capability 的取值,一般可以为:Super Admin、Administrator、Editor、Author 、Contributor、Subscriber 等。具体角色权限可查看官方文档。说了那么多还是来两个常用的通过权限控制顶部工具条(Admin Bar)隐藏的实例方便大家使用:

代码一:

// 对非 Administrator 用户均隐藏顶部工具条(Admin Bar)
function my_function_admin_bar($content) {
    return ( current_user_can( 'administrator' ) ) ? $content : false;
}
add_filter( 'show_admin_bar' , 'my_function_admin_bar');

代码二:

// 只对有管理权限的用户显示顶部工具条(Admin Bar)
if ( ! current_user_can( 'manage_options' ) ) {
    show_admin_bar( false );
}

代码多变,但万变不离其宗,大家可参考上述代码针对自己情况设置。