更改右上角“您好”的链接

时间:2013-05-02 作者:kat_indo

我想更改当你点击“Howdy”链接时,它会把你带到哪里。

我有一个buddypress网站,我不想让用户进入他们的个人资料页面,而是想让他们进入“活动”选项卡。

如何更改链接?

谢谢Kat

2 个回复
最合适的回答,由SO网友:t31os 整理而成

虽然没有很好的记录,但add_nodeadd_menu 方法WP_Admin_Bar 类不仅可用于创建新菜单或节点,还可用于更新现有菜单或节点。

所以我继续跟踪WordPress最初用于在管理栏中创建该项目的代码,复制了它,然后对Howdy文本进行了调整,并使用了一个指向google的示例链接。只需根据示例代码进行适当的调整。

Example code:
更新管理栏中的用户帐户菜单

function wpse_98066_before_admin_bar_render() {

    global $wp_admin_bar;

    if( !method_exists( $wp_admin_bar, \'add_menu\' ) )
        return;

    $user_id      = get_current_user_id();
    $current_user = wp_get_current_user();
    $my_url       = \'http://www.google.com\';

    if ( ! $user_id )
        return;

    $avatar = get_avatar( $user_id, 16 );
    $howdy  = sprintf( __(\'Hey, nice to see you again, %1$s\'), $current_user->display_name );
    $class  = empty( $avatar ) ? \'\' : \'with-avatar\';

    $wp_admin_bar->add_menu( array(
        \'id\'        => \'my-account\',
        \'parent\'    => \'top-secondary\',
        \'title\'     => $howdy . $avatar,
        \'href\'      => $my_url,
        \'meta\'      => array(
            \'class\'     => $class,
            \'title\'     => __(\'My Account\'),
        ),
    ) );
}
add_action( \'wp_before_admin_bar_render\', \'wpse_98066_before_admin_bar_render\' );
我希望这会有帮助,玩得开心。:)

SO网友:David Labbe

这里有一个更简单更干净的方法。。。调用所需的节点,使用所需的零件并替换要更新的内容

function np_replace_howdy($wp_admin_bar){

//New text to replace Howdy
$new_text = \'Welcome\';
$my_url       = \'http://www.google.com\';

//Call up the \'my-account\' menu node for current values.
$my_account = $wp_admin_bar->get_node(\'my-account\');

//Replace the \'Howdy\' with new text with string replace
$new_title = str_replace(\'Howdy\', $new_text, $my_account->title);

//Rebuild the menu using the old node values and the new title.
$wp_admin_bar->add_menu(array(
    \'id\'     => $my_account->id,
    \'parent\' => $my_account->parent,
    \'title\'  => $new_title,
    \'href\'   => $my_url,
    \'group\'   => $my_account->group,
    \'meta\'   => array(
        \'class\' => $my_account->meta[\'class\'],
        \'title\' => $my_account->meta[\'title\'],
    ),
 ));
}

add_action(\'admin_bar_menu\', \'np_replace_howdy\', 999);

结束

相关推荐

如果试图查看mysite.com/wp-admin/,如何将非管理员重定向到主页?

我希望我的所有用户(贡献者和作者也是),但如果管理员试图查看mysite,他们会被重定向到主页。com/wp admin/。投稿人和作者必须能够像往常一样添加和编辑帖子,以及其他他们不得不被重定向的帖子。。。我已经删除了指向仪表板的链接。。。我也尝试过一些插件,但其中一个更接近(删除仪表板访问)的插件会重定向到主页,但会阻止贡献者和作者添加、编辑和删除帖子。谢谢