I need to display a simple menu like this:
<nav class="main">
<a href="https://wordpress.stackexchange.com/" class="home">
<span class="logo"></span>
<span class="company-name">My Company</span>
<span class="page-name">Home</span>
</a>
<a href="one-page">One page</a>
<a href="two-page" class="selected-current">Two page</a>
<a href="three-page">Three page</a>
<a href="about">About</a>
<div class="account">
<a href="login" class="login">Login</a>
</div>
For this I proceed in this way:
/theme/function.php
<?php
// Adding Log in/out links to a Specific WordPress Menu
add_filter( 'wp_nav_menu_items', 'add_loginout_link', 10, 2 );
function add_loginout_link( $items, $args ) {
if (is_user_logged_in() && $args->theme_location == 'primary') {
$items .= '<div class="account"><a href="'. wp_logout_url() .'" class="login">Logout</a></div>';
}
elseif (!is_user_logged_in() && $args->theme_location == 'primary') {
$items .= '<div class="account"><a href="'. site_url('wp-login.php') .'" class="login">Login</a></div>';
}
return $items;
}
/theme/header.php
<nav class="main"><?php
$menuParameters = array(
'theme_location' => 'primary',
'fallback_cb' => 'starkers_menu',
'container' => false,
'echo' => false,
'items_wrap' => '%3$s',
'depth' => 0,
);
echo strip_tags(wp_nav_menu( $menuParameters ), '<a><div>' );
?></nav>
I can not manage the class pages for current and the tags (span) for the first url (home).
Thank you in advance for your help.
cordially