WordPress Tricks #2

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 :)

Jany Martelli · Shambix

Scritto dal team di ingegneri Shambix: app su misura, agenti AI, WordPress e WooCommerce, cloud e AI privata dal 2009.

Jany Martelli progetta i sistemi dietro i business digitali: architetture cloud, piattaforme e-commerce e agenti AI che fanno lavoro reale. Oltre 17 anni e più di 250 progetti con Shambix, per team che vanno da Xiaomi a Hilton. Una formazione in informatica, l'insegnamento e Patcherly, l'AI che corregge da sola i bug in produzione.

App Custom

Hai un Progetto in mente? Sviluppiamolo insieme.

Raccontaci i tuoi obiettivi e il tuo budget. Da una sistemata veloce a WordPress fino a una piattaforma su misura, ti diremo cosa è realistico. Al resto pensiamo noi.

  • Ogni richiesta viene letta da un ingegnere senior
  • Se non siamo i partner giusti, ve lo diciamo
  • info@shambix.com
Nome

Di solito rispondiamo entro 24 ore. Niente newsletter, niente spam.