Integrare tramite shortcode dei menu predefiniti in articoli e pagine WordPress

A partire da WordPress 3 è possibile personalizzare i menu predefiniti in modo avanzato e senza grandi difficoltà.

Con questa guida riuscirete in modo semplice a inserire dei menu creati attraverso la funzionalità nel back-end di WP in articoli o pagine.

Questa possibilità è molto utile nel caso in cui dovete realizzare delle pagine in cui bisogna disporre di elenchi di pagine o link esterni suddivisi per argomento e tematiche. Invece di realizzare degli elenchi in html, potete sfruttare la gestione dei menu di WordPress, creandoli e modificandoli direttamente nel back-end.

Una volta impostata la pagina con tutti i menu è molto comodo anche per il cliente aggiungere o eliminare voci agli elenchi in caso di necessità. È sufficiente che trovi e selezioni la voce aspetto > menu nel back-end di Wp.

In pratica in questa guida viene utilizzata la funzione wp_nav_menu e creato uno shortcode per richiamare i menu in base all’ID o al nome.

Di seguito i passi da svolgere per aggiungere questa funzionalità al vostro sito WordPress:

Passo 1: Inserire il seguente codice nel file function.php del tema in uso:

Il file function si trova all’interno della cartella del vostro tema di solito al seguente percorso [root/wp-content/themes/il_vostro_tema/function.php]

// Function that will return our WordPress menu
function list_menu($atts, $content = null) {
	extract(shortcode_atts(array(
		'menu'            => '',
		'container'       => 'div',
		'container_class' => '',
		'container_id'    => '',
		'menu_class'      => 'menu',
		'menu_id'         => '',
		'echo'            => true,
		'fallback_cb'     => 'wp_page_menu',
		'before'          => '',
		'after'           => '',
		'link_before'     => '',
		'link_after'      => '',
		'depth'           => 0,
		'walker'          => '',
		'theme_location'  => ''),
		$atts));

	return wp_nav_menu( array(
		'menu'            => $menu,
		'container'       => $container,
		'container_class' => $container_class,
		'container_id'    => $container_id,
		'menu_class'      => $menu_class,
		'menu_id'         => $menu_id,
		'echo'            => false,
		'fallback_cb'     => $fallback_cb,
		'before'          => $before,
		'after'           => $after,
		'link_before'     => $link_before,
		'link_after'      => $link_after,
		'depth'           => $depth,
		'walker'          => $walker,
		'theme_location'  => $theme_location));
}
//Create the shortcode
add_shortcode("listmenu", "list_menu");

 

Passo 2: Creare il menu nel back-end di wordpress nella sezione aspetto > menu

Integrare tramite shortcode la funzione dei menu personalizzati in articoli e pagine WordPress

Passo 3: Inserire lo shortcode specificando il nome o l’id del menu. Esiste anche la possibilità di aggiungere una class nel caso vogliate personalizzare lo stile.

[listmenu menu=qui nome menu o id]

Con l’aggiunta della class

[listmenu menu=5_class=widget_nav_menu]

Fonte articolo: www.cozmoslabs.com

 

The following two tabs change content below.
Sono un Web Designer, ma sopratutto un appassionato di grafica, di internet, nuove tecnologie e in particolare del potente cms che è WordPress.
  • ciao, finalmente ho trovato qualcosa in merito … io vorrei inserire lo shortcode di printfriendly nel menu quindi copio il codice ma dove scrive:
    add_shortcode(“listmenu”, “list_menu”);

    devo sostituirlo con printfriendly shortcode ???

    forse mi sono perso qualcosa … 🙁

    grazie.
    🙂

    • Ciao Massimo,

      questa piccola guida indica come inserire (creando appositamente un shortcode) dei menu generati con WordPress in articoli e pagine.

      Se ho capito bene, vuoi inserire dei shortcode nel menu. Forse questo plugin “Shortcodes in Menus” potrebbe aggiungerti questa funzione.

      Grazie a te per il commento 😉

Lascia un commento

XHTML: È possibile utilizzare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>