Il problema
Questo è un workaround più che un vero e proprio trick: usando i nuovi menu custom di WordPress 3+
< ?php wp_nav_menu($paramentri); ?>
, come aggiungere un separatore dopo ogni link del menu, senza farlo apparire anche all’ultimo link.
In altre parole:
Link 1 | Link 2 | Link 3 |
nessuno vuole quell’ultimo separatore alla fine del menu, eppure WordPress non ha ancora previsto un modo per evitarlo.
La soluzione
Prima di tutto aggiungere al functions.php questa funzione:
function nav_menu_first_last( $items ) { $position = strrpos($items, 'class="menu-item', -1); $items=substr_replace($items, 'menu-item-last ', $position+7, 0); $position = strpos($items, 'class="menu-item'); $items=substr_replace($items, 'menu-item-first ', $position+7, 0); return $items; } add_filter( 'wp_nav_menu_items', 'nav_menu_first_last' ); }
In questo modo, aggiungerete due nuove classi, una al primo link menu-item-first e uno all’ultimo menu-item-last.
Poi potete procedere con l’inserimento della funzione per visualizzare il menu, inserendo il parametro after e il tipo di separatore desiderato (in questo caso | ), circondato da un semplice span:
<?php wp_nav_menu(array('menu' => 'Bottom', 'menu_class' => 'bottom-menu', 'after' => '<span> | </span>')); ?>
Infine, per togliere di mezzo l’ultimo separatore, basterà aggiungere questa regola nello style.css:
.menu-item-last span { display: none; }
Problema risolto :)