zoukankan      html  css  js  c++  java
  • 黄聪:自定义WordPress顶部管理工具条的技巧(转)

    使用WordPress开发网站项目,很多时候都需要对进行后台定制,今天倡萌主要分享下自定义顶部管理工具条的使用技巧。

    custom-wordpress-bar-wpdaxue_com

    注:如无特殊说明,请将下面的代码添加到主题的 functions.php  或者插件的函数文件中。

    对所有用户和访客隐藏工具条

    1
    2
    3
    4
    
    /*
     * 对所有用户和访客隐藏工具条
     */
    remove_action( 'init', '_wp_admin_bar_init' );

    只对管理员显示工具条

    1
    2
    3
    4
    5
    6
    
    /*
     * 只对管理员显示工具条
     */
    if ( !current_user_can( 'manage_options' ) ) {
        remove_action( 'init', '_wp_admin_bar_init' );
    }

    只在后台隐藏工具条

    1
    2
    3
    4
    5
    6
    
    /*
     * 只在后台隐藏工具条
     */
    if ( is_admin() ) {
        remove_action( 'init', '_wp_admin_bar_init' );
    }

    只在前台隐藏工具条

    1
    2
    3
    4
    5
    6
    
    /*
     * 只在前台隐藏工具条
     */
    if ( !is_admin() ) {
        remove_action( 'init', '_wp_admin_bar_init' );
    }

    多站点管理后台隐藏工具条

    1
    2
    3
    4
    5
    6
    
    /*
     * 对多站点后台隐藏工具条
     */
    if ( is_network_admin() ) {
        remove_action( 'init', '_wp_admin_bar_init' );
    }

    移除工具条占位高度

    隐藏工具条以后,顶部可能会残留 28 像素的空白,你可以使用下面的代码删除空白。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    /*
     * 移除工具条占位空白
     */
    function remove_adminbar_margin() {
        $remove_adminbar_margin = '<style type="text/css">
            html { margin-top: -28px !important; }
            * html body { margin-top: -28px !important; }
        </style>';
        echo $remove_adminbar_margin;
    }
    /* 针对后台 */
    if ( is_admin() ) {
        remove_action( 'init', '_wp_admin_bar_init' );
        add_action( 'admin_head', 'remove_adminbar_margin' );
    }
    /* 针对前台 */
    if ( !is_admin() ) {
        remove_action( 'init', '_wp_admin_bar_init' );
        add_action( 'wp_head', 'remove_adminbar_margin' );
    }

    移除工具条默认菜单

    下面的代码可以移除WordPress顶部工具条的默认项目,请根据自己的需要选择

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    function wpdaxue_admin_bar() {
        global $wp_admin_bar;
        $wp_admin_bar->remove_menu('wp-logo'); //移除Logo
        $wp_admin_bar->remove_menu('my-account'); //移除个人中心
        $wp_admin_bar->remove_menu('comments'); //移除评论
        $wp_admin_bar->remove_menu('my-sites');  //移除我的网站(多站点)
        $wp_admin_bar->remove_menu('site-name'); //移除网站名称
        $wp_admin_bar->remove_menu('new-content'); // 移除“新建”
        $wp_admin_bar->remove_menu('search');  //移除搜索
        $wp_admin_bar->remove_menu('updates'); //移除升级通知
    }
    add_action( 'wp_before_admin_bar_render', 'wpdaxue_admin_bar' );

    添加一个简单的菜单

    添加一个简单的菜单,并且在设置为新窗口打开

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    /*
     * 添加一个简单的菜单
     * 自行修改 'title' 和 'href' 的值
     */
    function custom_adminbar_menu( $meta = TRUE ) {
        global $wp_admin_bar;
            if ( !is_user_logged_in() ) { return; }
            if ( !is_super_admin() || !is_admin_bar_showing() ) { return; }
        $wp_admin_bar->add_menu( array(
            'id' => 'custom_menu',
            'title' => __( 'Menu Name' ),
            'href' => 'http://google.com/',
            'meta'  => array( target => '_blank' ) )
        );
    }
    add_action( 'admin_bar_menu', 'custom_adminbar_menu', 15 );
    /* add_action # 后面的数字表示位置:
    10 = 在 Logo 的前面
    15 = 在 logo 和 网站名之间
    25 = 在网站名后面
    100 = 在菜单的最后面
    */

    添加一个菜单(只显示图标)

    上面的例子是添加一个显示文字的链接,如果你只希望显示一个图标,可以使用下面的代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    /*
     * Add Icons Instead of Text to the Main Admin Bar
     */
    function custom_adminbar_menu( $meta = TRUE ) {
        global $wp_admin_bar;
            if ( !is_user_logged_in() ) { return; }
            if ( !is_super_admin() || !is_admin_bar_showing() ) { return; }
        $wp_admin_bar->add_menu( array(
            'id' => 'custom_menu',
            'title' => __( '<img src="http://domain.com/wp-content/themes/theme_name/images/wpdaxue-icon.gif" width="25" height="25" />' ),
            'href' => 'http://www.wpdaxue.com/',
            'meta'  => array( target => '_blank' ) )
        );
    }
    add_action( 'admin_bar_menu', 'custom_adminbar_menu', 15 );
    function custom_menu_css() {
        $custom_menu_css = '<style type="text/css">
            #wp-admin-bar-custom_menu img { margin:0 0 0 12px; } /** moves icon over */
            #wp-admin-bar-custom_menu { 75px; } /** sets width of custom menu */
        </style>';
        echo $custom_menu_css;
    }
     add_action( 'admin_head', 'custom_menu_css' );

    注意:第 9 行的 'id' => 'custom_menu' 要和 17、18 行的 #wp-admin-bar-custom_menu  的后半段对应。同时注意修改第 10 行的图片链接。

    添加后台管理菜单

    通过下面的代码,可以添加任何左边菜单到顶部工具条,支持单站点和多站点模式。这里以“添加 主题编辑 ”为例,更换为其他菜单,请修改里面的 admin_url( 'theme-editor.php' )

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    /*
     * 添加快捷菜单到 主题编辑 (支持单站点和多站点)
     */
    function add_theme_menu() {
        global $wp_admin_bar;
            if ( !is_user_logged_in() ) { return; }
            if ( !is_super_admin() || !is_admin_bar_showing() ) { return; }
        if ( function_exists('is_multisite') && is_multisite() ) {
            $wp_admin_bar->add_menu( array(
                'id' => 'theme-editor',
                'title' => __('Edit Theme'),
                'href' => network_admin_url( 'theme-editor.php' ) )
            );
        }else{
            $wp_admin_bar->add_menu( array(
                'id' => 'theme-editor',
                'title' => __('Edit Theme'),
                'href' => admin_url( 'theme-editor.php' ) )
            );
        }
    }
    add_action( 'admin_bar_menu', 'add_theme_menu', 100 ); //关于数字 100 ,请查看上一条技巧

    添加下拉菜单

    添加下拉菜单到工具条,设置为 在新窗口或新标签打开

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    /*
     * 添加下拉菜单
     * 修改菜单名、链接名和链接地址
     */
    function custom_adminbar_menu( $meta = TRUE ) {
        global $wp_admin_bar;
            if ( !is_user_logged_in() ) { return; }
            if ( !is_super_admin() || !is_admin_bar_showing() ) { return; }
        $wp_admin_bar->add_menu( array(
            'id' => 'custom_menu',
            'title' => __( 'Menu Name' ) )       /* 设置菜单名 */
        );
        $wp_admin_bar->add_menu( array(
            'parent' => 'custom_menu',
            'id'     => 'custom_links',
            'title' => __( 'Google'),            /* 设置链接名*/
            'href' => 'http://google.com/',      /* 设置链接地址 */
            'meta'  => array( target => '_blank' ) )
        );
    }
    add_action( 'admin_bar_menu', 'custom_adminbar_menu', 15 );

    添加包含多个链接的子菜单

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    
    /*
     * 添加包含多个链接的子菜单,在新窗口打开链接
     * 请修改菜单名和链接地址
     */
    function custom_adminbar_menu( $meta = TRUE ) {
        global $wp_admin_bar;
            if ( !is_user_logged_in() ) { return; }
            if ( !is_super_admin() || !is_admin_bar_showing() ) { return; }
        $wp_admin_bar->add_menu( array(
            'id' => 'custom_menu',
            'title' => __( 'Menu Name' ) )           /* 设子菜单名 */
        );
        /* sub-menu */
        $wp_admin_bar->add_menu( array(
            'parent' => 'custom_menu',
            'id'     => 'custom_links',
            'title' => __( 'Sub menu') )         /* 设置子菜单名 */
        );
                /* menu links */
                $wp_admin_bar->add_menu( array(
                    'parent'    => 'custom_links',
                    'title'     => 'Google',             /* 设置链接名 */
                    'href'  => 'http://google.com/', /* 设置链接地址 */
                    'meta'  => array( target => '_blank' ) )
                );
                $wp_admin_bar->add_menu( array(
                    'parent'    => 'custom_links',
                    'title'     => 'Yahoo',           /* 设置链接名 */
                    'href'  => 'http://yahoo.com/',  /* 设置链接地址 */
                    'meta'  => array( target => '_blank' ) )
                );
    }
    add_action( 'admin_bar_menu', 'custom_adminbar_menu', 15 );

    在新窗口打开“访问站点”

    默认的情况下,点击”访问网站“这个菜单时,是直接在本窗口打开的,你可以使用下面的代码让它默认在新窗口/标签 打开。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    /*
     * 新窗口打开:我的网站 > 网站名 > 访问网站
     */
    function my_site_links() {
        global $wp_admin_bar;
        foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
            $menu_id  = 'blog-' . $blog->userblog_id;
            $wp_admin_bar->add_menu( array(
                'parent'    => $menu_id,
                'id'    => $menu_id . '-v',
                'title'     => __( 'Visit Site' ),
                'href'  => get_home_url( $blog->userblog_id, '/' ),
                'meta'  => array( target => '_blank' ) )
            );
        }
    }
    add_action( 'wp_before_admin_bar_render', 'my_site_links' );

    隐藏“我的站点”的子菜单(多站点)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    /*
     * 移除多站点的“我的网站”的子菜单: 仪表盘、新文章、管理评论 和 访问文章
     */
    function remove_mysites_links () {
        global $wp_admin_bar;
        foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
            $menu_id_d  = 'blog-' . $blog->userblog_id . '-d';       /* Dashboard var */
            $menu_id_n  = 'blog-' . $blog->userblog_id . '-n';       /* New Post var */
            $menu_id_c  = 'blog-' . $blog->userblog_id . '-c';       /* Manage Comments var */
            $menu_id_v  = 'blog-' . $blog->userblog_id . '-v';       /* Visit Site var */
            $wp_admin_bar->remove_menu($menu_id_d);              /* 移除 仪表盘 */
            $wp_admin_bar->remove_menu($menu_id_n);              /* 移除 发布新文章 */
            $wp_admin_bar->remove_menu($menu_id_c);              /* 移除 管理评论 */
            $wp_admin_bar->remove_menu($menu_id_v);              /* 移除 访问网站 */
        }
    }
    add_action( 'wp_before_admin_bar_render', 'remove_mysites_links' );

    添加子菜单到“我的站点”(多站点)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    
    /*
     * 添加子菜单到“我的网站”: Log Out, Media, Links, Pages, Appearance, Plugins, Users, Tools and Settings
     */
    function add_mysites_link () {
        global $wp_admin_bar;
        foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
            $menu_id  = 'blog-' . $blog->userblog_id;
            /* Add a Log Out Link */
            $wp_admin_bar->add_menu( array(
                'parent'    => $menu_id,
                'id'    => $menu_id . '-logout',
                'title'     => __( 'Log Out' ),
                'href'  => get_home_url( $blog->userblog_id, '/wp-login.php?action=logout' ) )
            );
            /* Media Admin */
            $wp_admin_bar->add_menu( array(
                'parent'    => $menu_id,
                'id'    => $menu_id . '-media',
                'title'     => __( 'Media Admin' ),
                'href'  => get_home_url( $blog->userblog_id, '/wp-admin/upload.php' ) )
            );
            /* Links Admin */
            $wp_admin_bar->add_menu( array(
                'parent'    => $menu_id,
                'id'    => $menu_id . '-links',
                'title'     => __( 'Links Admin' ),
                'href'  => get_home_url( $blog->userblog_id, '/wp-admin/link-manager.php' ) )
            );
            /* Pages Admin */
            $wp_admin_bar->add_menu( array(
                'parent'    => $menu_id,
                'id'    => $menu_id . '-pags',
                'title'     => __( 'Pages Admin' ),
                'href'  => get_home_url( $blog->userblog_id, '/wp-admin/edit.php?post_type=page' ) )
            );
            /* Appearance Admin */
            $wp_admin_bar->add_menu( array(
                'parent'    => $menu_id,
                'id'    => $menu_id . '-appearance',
                'title'     => __( 'Appearance' ),
                'href'  => get_home_url( $blog->userblog_id, '/wp-admin/themes.php' ) )
            );
            /* Plugin Admin */
            $wp_admin_bar->add_menu( array(
                'parent'    => $menu_id,
                'id'    => $menu_id . '-plugins',
                'title'     => __( 'Plugin Admin' ),
                'href'  => get_home_url( $blog->userblog_id, '/wp-admin/plugins.php' ) )
            );
            /* Users Admin */
            $wp_admin_bar->add_menu( array(
                'parent'    => $menu_id,
                'id'    => $menu_id . '-users',
                'title'     => __( 'Users Admin' ),
                'href'  => get_home_url( $blog->userblog_id, '/wp-admin/users.php' ) )
            );
            /* Tools Admin */
            $wp_admin_bar->add_menu( array(
                'parent'    => $menu_id,
                'id'    => $menu_id . '-tools',
                'title'     => __( 'Tools Admin' ),
                'href'  => get_home_url( $blog->userblog_id, '/wp-admin/tools.php' ) )
            );
            /* Settings Admin */
            $wp_admin_bar->add_menu( array(
                'parent'    => $menu_id,
                'id'    => $menu_id . '-settings',
                'title'     => __( 'Settings Admin' ),
                'href'  => get_home_url( $blog->userblog_id, '/wp-admin/options-general.php' ) )
            );
        }
    }
    add_action( 'wp_before_admin_bar_render', 'add_mysites_link' );

    使用 Domain.com 作为显示名称(多站点)

    默认情况下,多站点的网站名称都是显示“站点名”,如果你要显示为 Domain.com 这样的,可以使用下面的代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    /*
     * 以域名 to Domain.com 作为菜单名
     */
    function change_site_names() {
        global $wp_admin_bar;
            $blue_wp_logo_url = includes_url('images/wpmini-blue.png');
            $blavatar = '<img src="' . esc_url($blue_wp_logo_url) . '" alt="' . esc_attr__( 'Blavatar' ) . '" width="16" height="16" class="blavatar"/>';
        foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
                $menu_id  = 'blog-' . $blog->userblog_id;
                $blogname = ucfirst( $blog->domain );
            $wp_admin_bar->add_menu( array(
                'parent'    => 'my-sites-list',
                'id'    => $menu_id,
                'title'     => $blavatar . $blogname,
                'href'  => get_admin_url( $blog->userblog_id ) )
            );
        }
    }
    add_action( 'wp_before_admin_bar_render', 'change_site_names' );

    移除网站LOGO(多站点)

    移除多站点下子站点的logo

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    /*
     * Remove the WP Logo from the My Sites Menu
     */
    function remove_wplogo_mysites() {
        global $wp_admin_bar;
        foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
            $menu_id  = 'blog-' . $blog->userblog_id;
            $blogname = emptyempty( $blog->blogname ) ? $blog->domain : $blog->blogname;
            $wp_admin_bar->add_menu( array(
                'parent'    => 'my-sites-list',
                'id'    => $menu_id,
                'title'     => $blogname,
                'href'  => get_admin_url( $blog->userblog_id ) )
            );
        }
    }
    add_action( 'wp_before_admin_bar_render', 'remove_wplogo_mysites' );

    修改“我的站点”的logo(多站点)

    将logo图片上传到 你主题的 images 文件夹,然后根据实际修改第 10 行的 NEW-ICON-HERE.png

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    /*
     * Change the WP Logo Icon within the My Sites Menu to any icon you want
     * Update the NEW-ICON-HERE.png name to match the proper file name.
     */
    function add_mysites_logo() {
        global $wp_admin_bar;
        foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
            $menu_id  = 'blog-' . $blog->userblog_id;
            $blogname = emptyempty( $blog->blogname ) ? $blog->domain : $blog->blogname;
            $blavatar = '<img src="' . get_bloginfo('template_directory') . '/images/NEW-ICON-HERE.png" alt="' . esc_attr__( 'Blavatar' ) . '" width="16" height="16" class="blavatar"/>';
            $wp_admin_bar->add_menu( array(
                'parent'    => 'my-sites-list',
                'id'    => $menu_id,
                'title'     => $blavatar . $blogname,
                'href'  => get_admin_url( $blog->userblog_id ) )
            );
        }
    }
    add_action( 'wp_before_admin_bar_render', 'add_mysites_logo' );

    对访客显示工具条

    对没有登录的访客也显示工具条

    1
    2
    3
    4
    
    /*
     * 对没有登录的访客显示工具条
     */
    add_filter( 'show_admin_bar', '__return_true' );

    对已注销的用户创建一个菜单

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    /*
     * Create a menu for Logged Out Users
     */
    function loggedout_menu( $meta = TRUE ) {
        global $wp_admin_bar;
            if ( is_user_logged_in() ) { return false; }
        $wp_admin_bar->add_menu( array(
            'id' => 'custom_menu',
            'title' => __( 'Menu Name' ),
            'href' => 'http://google.com/',
            'meta'  => array( target => '_blank' ) )
        );
    }
    add_action( 'admin_bar_menu', 'loggedout_menu', 15 );

    为已注销的用户添加“登录”链接

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    /*
     * Add a Log In Link for Logged Out Users to the Admin Bar
     */
    function add_login_link( $meta = FALSE ) {
        global $wp_admin_bar, $blog_id;
        if ( is_user_logged_in() ) { return false; }
        $wp_admin_bar->add_menu( array(
            'id' => 'custom_menu',
            'title' => __( 'Login' ),
            'href' => get_home_url( $blog_id, '/wp-login.php' ) )
        );
    }
    add_filter( 'show_admin_bar', '__return_true' ); /* turn on adminbar for logged out users */
    add_action( 'admin_bar_menu', 'add_login_link', 15 );

    修改工具条的透明度

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    /*
     * 修改工具条的透明度
     */
    function adminbar_opacity() {
        $adminbar_opacity = '<style type="text/css">#wpadminbar { filter:alpha(opacity=50); opacity:0.5; }</style>';
        echo $adminbar_opacity;
    }
    /* 后台*/
    if ( is_admin() ) {
        add_action( 'admin_head', 'adminbar_opacity' );
    }
    /* 前台 */
    if ( !is_admin() ) {
        add_action( 'wp_head', 'adminbar_opacity' );
    }

    鼠标悬停时才显示工具条

    隐藏工具条,当鼠标悬停在上面时才显示

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    
    /*
     * Hide the WordPress Admin Bar with CSS, then display the Admin Bar on hover with CSS and jQuery
     */
    function hide_adminbar() {
        $hide_adminbar = '<script type="text/javascript">
            $(document).ready( function() {
                $("#wpadminbar").fadeTo( "slow", 0 );
                $("#wpadminbar").hover(function() {
                    $("#wpadminbar").fadeTo( "slow", 1 );
                }, function() {
                    $("#wpadminbar").fadeTo( "slow", 0 );
                });
            });
        </script>
        <style type="text/css">
            html { margin-top: -28px !important; }
            * html body { margin-top: -28px !important; }
            #wpadminbar {
                -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
                filter: alpha(opacity=0);
                -moz-opacity:0;
                -khtml-opacity:0;
                opacity:0;
            }
            #wpadminbar:hover, #wpadminbar:focus {
                -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
                filter: alpha(opacity=100);
                -moz-opacity:1;
                -khtml-opacity:1;
                opacity:1;
            }
        </style>';
        echo $hide_adminbar;
    }
    /* wp-admin area */
    if ( is_admin() ) {
        add_action( 'admin_head', 'hide_adminbar' );
    }
    /* websites */
    if ( !is_admin() ) {
        add_action( 'wp_head', 'hide_adminbar' );
    }

    修改工具条的颜色

    下面的例子是将工具条修改为“蓝色”,你可以通过修改颜色的值来改变颜色

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    
    /*
     * Change the Admin Bar Color Scheme
     */
    function change_adminbar_colors() {
        $change_adminbar_colors = '<style type="text/css">
            #wpadminbar *, #wpadminbar{ color:#ffffff;text-shadow:#444444 0 -1px 0; }
            #wpadminbar{
                background-color:#003399;
                background-image:-ms-linear-gradient(bottom,#000033,#003399 5px);
                background-image:-moz-linear-gradient(bottom,#000033,#003399 5px);
                background-image:-o-linear-gradient(bottom,#000033,#003399 5px);
                background-image:-webkit-gradient(linear,left bottom,left top,from(#000033),to(#003399));
                background-image:-webkit-linear-gradient(bottom,#000033,#003399 5px);
                background-image:linear-gradient(bottom,#000033,#003399 5px);
            }
            /* menu separators */
            #wpadminbar .quicklinks>ul>li{border-right:1px solid #003399;}
            #wpadminbar .quicklinks>ul>li>a,#wpadminbar .quicklinks>ul>li>.ab-emptyempty-item{border-right:1px solid #000033;}
            #wpadminbar .quicklinks .ab-top-secondary>li{border-left:1px solid #000033;}
            #wpadminbar .quicklinks .ab-top-secondary>li>a,#wpadminbar .quicklinks .ab-top-secondary>li>.ab-emptyempty-item{border-left:1px solid #003399;}
            /* menu hover color and hover link color */
            #wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item{background:#333333;color:#ffffff;}
            #wpadminbar .hover .ab-label,#wpadminbar.nojq .ab-item:focus .ab-label{color:#ffffff;}
            #wpadminbar .menupop.hover .ab-label{color:#ffffff;}
            /* menu, on mouse over hover colors */
            #wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{
                color:#fafafa;
                background-color:#000033;
                background-image:-ms-linear-gradient(bottom,#003399,#000033);
                background-image:-moz-linear-gradient(bottom,#003399,#000033);
                background-image:-o-linear-gradient(bottom,#003399,#000033);
                background-image:-webkit-gradient(linear,left bottom,left top,from(#003399),to(#003399));
                background-image:-webkit-linear-gradient(bottom,#003399,#000033);
                background-image:linear-gradient(bottom,#003399,#000033);
            }
            /* menu item links hover color */
            #wpadminbar .menupop li:hover,#wpadminbar .menupop li.hover,#wpadminbar .quicklinks .menupop .ab-item:focus,#wpadminbar .quicklinks .ab-top-menu .menupop .ab-item:focus{background-color:#ccffcc;}
            /* menu item non-link colors */
            #wpadminbar .ab-submenu .ab-item{color:#333333;}
            /* menu item link colors */
            #wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#0099cc;}
            /* my sites hover color */
            #wpadminbar .quicklinks .menupop .ab-sub-secondary>li:hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li.hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus{background-color:#dfdfdf;}
            /* update menu colors */
            #wpadminbar .quicklinks a span#ab-updates{background:#eeeeee;color:#333333;}
            #wpadminbar .quicklinks a:hover span#ab-updates{background:#ffffff;color:#000000;}
            /* howdy menu */
            #wpadminbar .ab-top-secondary{
                background-color:#003399;
                background-image:-ms-linear-gradient(bottom,#000033,#003399 5px);
                background-image:-moz-linear-gradient(bottom,#000033,#003399 5px);
                background-image:-o-linear-gradient(bottom,#000033,#003399 5px);
                background-image:-webkit-gradient(linear,left bottom,left top,from(#000033),to(#003399));
                background-image:-webkit-linear-gradient(bottom,#000033,#003399 5px);
                background-image:linear-gradient(bottom,#000033,#003399 5px);
            }
            /* Howdy menu, username text color in dropdown */
            #wpadminbar #wp-admin-bar-user-info .display-name{color:#333333;}
            #wpadminbar #wp-admin-bar-user-info .username{color:#999999;}
            /* search */
            #wpadminbar #adminbarsearch .adminbar-input{color:#ccc;text-shadow:#444 0 -1px 0;background-color:rgba(255,255,255,0);}
            #wpadminbar #adminbarsearch .adminbar-input:focus{color:#555;text-shadow:0 1px 0 #fff;background-color:rgba(255,255,255,0.9);}
            #wpadminbar.ie8 #adminbarsearch .adminbar-input{background-color:#003399;}
            #wpadminbar.ie8 #adminbarsearch .adminbar-input:focus{background-color:#fff;}
            #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#ddd;}
            #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#ddd;}
        </style>';
        echo $change_adminbar_colors;
    }
    /* wp-admin area */
    if ( is_admin() ) {
        add_action( 'admin_head', 'change_adminbar_colors' );
    }
    /* websites */
    if ( !is_admin() ) {
        add_action( 'wp_head', 'change_adminbar_colors' );
    }

    PHP类:只为管理员显示工具条(移除占位高度)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    
    /*
     * PHP Class that enables the Admin Bar for Admins Only and Removes 28px Space
     */
    class admins_only_admin_bar {
        /*
         * Loads when class is called
         */
        function __construct() {
            /* disables admin bar */
            remove_action( 'init', '_wp_admin_bar_init' );
            /* calls function to remove 28px space */
            add_action( 'admin_head', array( &$this, 'remove_adminbar_margin' ) );
            add_action( 'wp_head', array( &$this, 'remove_adminbar_margin' ) );
        }
        /*
         * Removes the 28px margin for the Admin Bar
         */
        public function remove_adminbar_margin() {
            $remove_adminbar_margin = '<style type="text/css">
                html { margin-top: -28px !important; }
                * html body { margin-top: -28px !important; }
            </style>';
            echo $remove_adminbar_margin;
        }
    }
    /* Admins Only - Call Class */
    if ( current_user_can( 'manage_options' ) ) {
        $display_admin_bar = new admins_only_admin_bar();
    }

    PHP类:自定义已注销的用户的工具条

    为已注销用户(游客)显示工具条、添加登录链接、移除WP Logo、添加自定义菜单

    下面的例子,将移除WordPress 的logo、添加一个 登录链接、创建一个包含2个网站名为“Our Other Sites”的下拉菜单

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    
    /*
     * Force Admin Bar for logged out users, add a login link, remove the wp logo, and add a custom link menu
     */
    class force_admin_bar {
        /*
         * Loads when class is called
         */
        function __construct() {
            /* logged out users only */
            if ( is_user_logged_in() ) { return false; }
            /* remove wp logo */
            add_action( 'wp_before_admin_bar_render', array( &$this, 'remove_wp_logo' ) );
            /* remove search icon [uncomment to activate] */
            //add_action( 'wp_before_admin_bar_render', array( &$this, 'disable_bar_search' ) );  
            /* force adminbar to logged out users */
            add_filter( 'show_admin_bar', '__return_true' );
            /* call function to add login link to admin bar */
            add_action( 'admin_bar_menu', array( &$this, 'logged_out_menus' ), 15 );
        }
        /*
         * Menus for logged out users
         */
        function logged_out_menus( $meta = FALSE ) {
            global $wp_admin_bar, $blog_id;
            /* logout menu link */
            $wp_admin_bar->add_menu( array(
                'id' => 'login_menu',
                'title' => __( 'Login' ),
                'href' => get_home_url( $blog_id, '/wp-login.php' ) )
            );
            /* create menus */
            $wp_admin_bar->add_menu( array(
                'id' => 'custom_menu',
                'title' => __( 'Our Other Websites' ) ) /* set the menu name */
            );
            /* menu link */
            $wp_admin_bar->add_menu( array(
                'parent' => 'custom_menu',
                'id'     => 'techNerdia', /* unique id name */
                'title'     => 'techNerdia', /* Set the link title */
                'href'  => 'http://technerdia.com/', /* Set the link a href */
                'meta'  => array( target => '_blank' ) )
            );
            /* menu link */
            $wp_admin_bar->add_menu( array(
                'parent' => 'custom_menu',
                'id'     => 'Google', /* unique id name */
                'title'     => 'Google', /* Set the link title */
                'href'  => 'http://google.com/', /* Set the link a href */
                'meta'  => array( target => '_blank' ) )
            );
        }
        /*
        * Remove the WordPress Logo from the WordPress Admin Bar
        */
        function remove_wp_logo() {
            global $wp_admin_bar;
            $wp_admin_bar->remove_menu('wp-logo');
        }
        /*
        * Disable the Search Icon and Input within the Admin Bar [uncomment to activate]
        */
        //function disable_bar_search() {  
        //  global $wp_admin_bar;  
        //  $wp_admin_bar->remove_menu('search');  
        //}  
    }
    /* Call Class */
    $force_admin_bar = new force_admin_bar();

    将登录链接从左边移动到右边

    只针对上面的那个例子

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    /*
     * Move the Login Link from the left side to the right side within the Admin Bar for logged out users.
     */
    function move_login_link() {
        $move_login_link = '<style type="text/css">
            #wpadminbar #wp-admin-bar-login_menu{float:right}
            }
        </style>';
        echo $move_login_link;
    }
        add_action( 'wp_head', 'move_login_link' );

    参考资料:http://technerdia.com/1140_wordpress-admin-bar.html

  • 相关阅读:
    随笔2
    随笔
    关于updateElement接口
    随笔1
    本地访问正常,服务器访问乱码 记录
    Redis (error) NOAUTH Authentication required.解决方法
    tomcat启动很慢 停留在 At least one JAR was scanned for TLDs yet contained no TLDs.
    微信公众号消息回复
    微信公众号 报token验证失败
    idea中web.xml报错 Servlet should have a mapping
  • 原文地址:https://www.cnblogs.com/huangcong/p/3328205.html
Copyright © 2011-2022 走看看