带有管理栏上的链接的自定义分区

时间:2013-05-01 作者:Jusherb

我正在尝试在管理栏上添加一个区域,该区域将显示用户配置文件图像、用户名、用户电子邮件、用户角色以及编辑配置文件和注销的链接。我希望它的显示方式是

史蒂夫·杰克逊[email protected]

著者

编辑配置文件(<<<;“链接”

注销(<)<<;“链接”

用户信息左侧有用户图像

到目前为止,我已经在管理栏中显示了第二个div区域,没有下拉菜单,并对管理栏进行了修改。使用此函数显示用户图像、名称和电子邮件的php文件

function wp_admin_bar_my_account_item( $wp_admin_bar ) {
$user_id      = get_current_user_id();
$current_user = wp_get_current_user();
$profile_url  = get_edit_profile_url( $user_id );

if ( ! $user_id )
    return;

$user_info  = get_avatar( $user_id, 64 );
$user_info .= "<span class=\'display-name\'>{$current_user->display_name}</span>";

if ( $current_user->display_name !== $current_user->user_email )
    $user_info .= "<span class=\'username\'>&nbsp;-&nbsp;{$current_user->user_email}</span>";


$wp_admin_bar->add_menu( array(
    \'id\'        => \'my-account\',
    \'parent\'    => \'top-secondary\',
    \'title\'     => $user_info,
    \'meta\'      => array(
        \'class\'     => $class,
        \'title\'     => __(\'My Account\'),
    ),
) );
}

1 个回复
最合适的回答,由SO网友:Mr Rethman 整理而成

我认为您需要使用“global$current\\u user;”在函数中获取$current\\u user和全局$wp\\u admin\\u bar的详细信息;用于管理栏。

这就是我如何获得当前用户的角色并根据角色从admin更改URL的方法(这并不能解决您的问题,但您可能会发现这很有帮助)

function mytheme_admin_bar_render() {
global $wp_admin_bar;
global $current_user;


    if (!is_admin()) {
        $adminUrl = admin_url();
        $wp_admin_bar->add_menu( array(
            \'parent\' => false,
            \'id\' => \'am-profile\',
            \'title\' => __(\'Admin\'s Title\'),
            \'href\' => $adminUrl
        ));
    }else{
        $profilehref = site_url();
        $wp_admin_bar->add_menu( array(
            \'parent\' => false,
            \'id\' => \'some_id\',
            \'title\' => __($sitereturnto),
            \'href\' => $profilehref 
        ));
    }
}

add_action( \'admin_bar_menu\', \'mytheme_admin_bar_render\', 20 );

结束

相关推荐

我使用了一个隐藏wp-admin的插件,但它也将wp-admin隐藏为admin-如何恢复?

我使用了一个插件,它隐藏了wp-admin并做了很多其他事情,但它也为admin用户隐藏了wp-admin(可能是由于我的一些错误设置)-如何恢复?我删除了插件的文件夹以返回到wp admin,但一旦我激活它,它就会再次开始隐藏admin内容。(它似乎保留了设置,因为它在新安装时激活时不会立即隐藏管理面板。我必须更改wp admin中的设置,使其隐藏wp admin。)