Add Logout Link to Navigation Menu
Appends a logout link (or a login link for guests) to the primary navigation menu, automatically using the correct URL and label based on auth state.
PHPby SnipCraft
php
<?php
if ( ! function_exists( 'scseed_nav_logout_link' ) ) {
function scseed_nav_logout_link( $items, $args ) {
if ( 'primary' !== $args->theme_location ) {
return $items;
}
if ( is_user_logged_in() ) {
$url = wp_logout_url( home_url( '/' ) );
$label = __( 'Log Out', 'scseed' );
} else {
$url = wp_login_url( get_permalink() );
$label = __( 'Log In', 'scseed' );
}
$items .= '<li class="menu-item scseed-login-item">'
. '<a href="' . esc_url( $url ) . '">' . esc_html( $label ) . '</a>'
. '</li>';
return $items;
}
add_filter( 'wp_nav_menu_items', 'scseed_nav_logout_link', 10, 2 );
}#login#menu#navigation#users