Você pode conseguir isso usando o wp_nav_menu_items
hook. Vamos dar uma olhada no seguinte trecho de código que mostra o link de login / logout na localização do menu primary
.
add_filter( 'wp_nav_menu_items', 'wti_loginout_menu_link', 10, 2 );
function wti_loginout_menu_link( $items, $args ) {
if ($args->theme_location == 'primary') {
if (is_user_logged_in()) {
$items .= '<li class="right"><a href="'. wp_logout_url() .'">'. __("Log Out") .'</a></li>';
} else {
$items .= '<li class="right"><a href="'. wp_login_url(get_permalink()) .'">'. __("Log In") .'</a></li>';
}
}
return $items;
}
Isso é o que implementamos no exemplo acima.
- Primeiro, adicionei um filtro para
wp_nav_menu_items
hook e anexamos um função para isso. - Após verificar a localização do tema
primary
, verificamos se usuário está logado ou não. - Se você fez login, mostramos o link
Log Out
, caso contrário, oLog In
link. - Passamos o permalink da página de visualização atual para o URL de login para que o usuário seja redirecionado para a página atual após login bem-sucedido.
- Utilizamos o
class="right"
para o código acima para atender às suas exigência.
Você pode encontrar uma explicação detalhada sobre este blog .