ti-enxame.com

Altere o link de 'Howdy' no canto superior direito

Eu gostaria de mudar onde o link 'Howdy' fica quando você clica nele.

Eu tenho um site com o buddypress e, em vez de levar os usuários à sua página de perfil, eu quero levá-los para a guia "Atividade".

Como eu posso mudar o link?

Obrigado Kat

4
kat_indo

Não está bem documentado, mas os métodos add_node e add_menu da classe WP_Admin_Bar podem ser usados ​​não apenas para criar novos menus ou nós, mas também para atualizar um menu ou nó existente.

Então eu fui em frente e rastreei o código que o WordPress inicialmente usa para criar esse item na barra de administração, repliquei, fiz ajustes no texto do Howdy e usei um link de exemplo para o google. Basta fazer seus próprios ajustes conforme apropriado para o código de exemplo.

Exemplo de código:
Atualizar o menu da conta de usuário na barra de administração

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' );

Espero que ajude, divirta-se. :)

7
t31os

Aqui é uma maneira mais fácil e mais limpa ... chamar o nó necessário e usar a parte necessária e substituir o que você deseja atualizar

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);
0
David Labbe