Wordpress 管理栏仅在移动设备上显示

问题描述 投票:0回答:3

嘿,

我仅将管理栏用于 Buddypress。 对于桌面版本,我将侧边栏中的所有菜单点都外包了。

不过,管理栏更适合移动版本。

我怎样才能最好地解决这个问题,管理栏仅在移动设备上显示。

感谢您的帮助。抱歉我的英语不好;)

wordpress admin
3个回答
1
投票

一种选择是实现如下功能:

add_action('wp_footer', 'hide_admin_bar_prefs');
function hide_admin_bar_prefs() {
    $op = '
    <style type="text/css">
        html {margin-top: 0px !important;}
        #wpadminbar {display: none;}
        @media (max-width: 400px) {
            html {margin-top: 32px !important;}
            #wpadminbar {display: block;}
        }
    </style> ';
    echo $op;
}

修改自插件隐藏管理栏:https://wordpress.org/plugins/hide-admin-bar/


0
投票

我要补充的一件事 - 你可能想检查用户是否登录,否则对于未登录的用户,顶部可能会出现 32px 的空白。

我只是稍微扩展了它 - 检查用户是否登录:

add_action('wp_footer', 'hide_admin_bar_prefs');
function hide_admin_bar_prefs() {
    if ( is_user_logged_in() ) {
        $op = '
        <style type="text/css">
            html {margin-top: 0px !important;}
            #wpadminbar {display: none;}
            @media (min-width: 992px) {
                html {margin-top: 32px !important;}
                #wpadminbar {display: block;}
            }
        </style> ';
        echo $op;
    }
}

0
投票

我有一个可能更优雅的解决方案,并且不需要接触 css。

Wordpress(自版本 3.4.0 起)提供了函数 wp_is_mobile()、wp_is_tablet()、wp_is_dektop() (Wordpress Docs),您可以使用它们查询当前可用的视图。 通过这些方法和 show_admin_bar(),您可以使用以下代码仅在移动视图中显示管理栏:

function remove_admin_bar() {
  if (wp_is_tablet() || wp_is_desktop()) {
    show_admin_bar(false);
  }
}
add_action('after_setup_theme', 'remove_admin_bar');

将此代码添加到您的 WordPress 主题的functions.php 中,它应该可以工作。 还可以使用子模板,这样下次更新就不会删除您的自定义代码。

© www.soinside.com 2019 - 2024. All rights reserved.