Tilføj et Menu Login / Logout Link til Menu i WordPress


Du kan tilføje til slutningen af ​​en eksisterende WordPress-menu et websted login / logout link. WordPress-menuen skal være anbefalet og har en tema placering, fungerer dette ikke med brugerdefinerede menuer.


Dette skal føjes til dit tema functions.php fil


add_filter( 'wp_nav_menu_items', 'themeprefix_login_logout_link', 10, 2 );

function themeprefix_login_logout_link( $items, $args ) {
if( $args->theme_location == 'primary' ) {
$loginoutlink = wp_loginout( 'index.php', false );
$items .= '';
return $items;
}
return $items;
}

Hvis du har brug for at style det ekstra menupunkt, skal du bare tilføje en CSS-klasse i

  • tag.


    Du kan ændre standardværdien for 'index.php' til noget andet.


    tema-menu-steder


    Normalt vil temaer have primær og sekundær og måske tertiære menuer. Hvis du prøver at målrette mod en menu, der ikke er en temaplacering, kan du justere filteret wp_nav_menu_items - se dette indlæg om, hvordan du inkluderer en anden menu uden en placering.


    Nu, hvis du er logget ind på webstedet, siger linket logout, og hvis du er Logget på siden vil sige Log på.


    login-logout-menu



    For at have forskellige login- og logoutdestinationer kan du bruge en betinget hvis (is_user_logged_in ())


    add_filter( 'wp_nav_menu_items', 'themeprefix_login_logout_link', 10, 2 );


    function themeprefix_login_logout_link( $items, $args ) {

    if( is_user_logged_in() ) {
    $loginoutlink = wp_loginout( 'index.php', false );
    $items .= '';
    return $items;
    }
    else {
    $loginoutlink = wp_loginout( 'members', false );
    $items .= '';
    return $items;

    }
    }


    Så her målrettes alle menuer, og login- og logout-destinationerne er forskellige, afhængigt af om brugeren er logget ind eller ikke.