add_filter( 'wp_nav_menu_items', 'sk_conditional_nav_items', 10, 2 );
/**
* Filter menu items to append Logout and Login links to Primary Nav for logged in and non logged in users respectively.
*
* @param string $menu HTML string of list items.
* @param stdClass $args Menu arguments.
*
* @return string Amended HTML string of list items.
*/
function sk_conditional_nav_items( $menu, $args ) {
if ( 'primary' !== $args->theme_location ) {
return $menu;
}
if ( is_user_logged_in() ) {
$menu .= '<li class="menu-item logout"><a href="' . wp_logout_url() . '">Logout</a></li>';
} else {
$menu .= '<li class="menu-item login"><a href="' . wp_login_url() . '">Login</a></li>';
}
return $menu;
}