Integrate a Welcome message in header in functions.php

in my wordpress site https://suonareaorecchio.com I have a login/logout button in the header, created with this code in functions.php

add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 2);
    function add_login_logout_link($items, $args) {
    ob_start();
    if ( is_user_logged_in() ) {
    wp_loginout('index.php');
    } else {
    wp_loginout( get_permalink( get_page_by_title( 'La mia pagina' ) ) );
    }
    $loginoutlink = ob_get_contents();
    ob_end_clean();
    $items .= '<li>'. $loginoutlink .'</li>';
return $items;
}
add_filter( 'login_url', 'my_login_page', 10, 2 );
    function my_login_page( $login_url, $redirect ) {
    $url = get_permalink( get_page_by_title( 'Login' ) );
    return $url . '?redirect_to=' . $redirect;
}

That creates correctly this Login/Logout button in the top right header.
Loging/logout in top right header

Read More

I want to integrate a welcome message that says Hi user! (with link to a specific /profile/ page) and a sub menu with the logout link (with home page redirect).

To JUST create the welcome message I found this, but it creates a message in the page, not header.

add_action( 'loop_start', 'personal_message_when_logged_in' );
    function personal_message_when_logged_in() {
    if ( is_user_logged_in() ) : 
    $current_user = wp_get_current_user();
echo 'Ciao ' . $current_user->user_login . '!';
else :
    echo 'Non personalize message (No clue what to put!)';
endif;
}

Basically the result I’d like to recreate would be this:

welcome message plus logout submenu

Do you know how can I integrate the two codes to have something like the second image? If you’re kind may I have the final code to copy and paste since unfortunately I’m a noob?

Thanks so much for helping.

Related posts

Leave a Reply

1 comment

  1. You have to edit you header.php (wp-blog-header.php) page instead of the function.php one. You also have a footer php page if you’re interested in changing the footer of the page.

    Take a look at this video .

    The default location for header and footer should be : wp-content/themes/mytheme