web-dev-qa-db-fra.com

Login/logout in header

Je cherche à déplacer les informations de connexion/déconnexion/mon compte/enregistrement actuellement situées dans la barre de menus située au-dessus de la barre de menus.

Essentiellement, je veux ajouter les détails juste après l'en-tête.

Que dois-je ajouter à mon fichier functions.php dans mon thème enfant pour que cela fonctionne?

1
Kev Hopwood

Voici une fonction que j’utilise pour afficher les URL de connexion et d’enregistrement.

//Add login/logout link to naviagation menu
function add_login_out_item_to_menu_wpa84418( $items, $args ){

    //change theme location with your them location name
    if( is_admin() ||  $args->theme_location != 'LOCATION' )
        return $items; 

    $redirect = ( is_home() ) ? false : get_permalink();

    if( is_user_logged_in( ) )
        $link = '<a href="' . wp_logout_url( $redirect ) . '" title="' .  __( 'Logout' ) .'">' . __( 'Logout' ) . '</a>';
    else {
        $link = '<a href="' . wp_login_url( $redirect  ) . '" title="' .  __( 'Login' ) .'">' . __( 'Login' ) . '</a>';
        if (get_option('users_can_register'))
            $link = wp_register('<li>', '</li>', false) . $link;

    }
    return $items.= '<li id="log-in-out-link" class="menu-item menu-type-link">'. $link . '</li>';

}
add_filter( 'wp_nav_menu_items', 'add_login_out_item_to_menu_wpa84418', 50, 2 );

Assurez-vous simplement de changer de thème LOCATION avec votre nom de lieu

1
Bainternet