Cerca
Filtra la ricerca ...
Frase esatta
Categorie

Come creare un menu dinamico da un custom post type con wp_register_navs_menu

In questi mesi sto collaborando ad un progetto, la richiesta del cliente è quella di poter avere un numero illimitato di menu e di poter decidere in autonomia dove farli apparire; fatto lo studio di fattibilità ho deciso di usare un custom post type per la creazione dei nomi dei menu che poi do in pasto via PHP con la funzione register_custom_nav_menus() all’interno di un paio di loop, infine per mostrare il menu a front end una piccola condizione PHP che pesca una campo in ACF che mi rilascia l’ID del menu, così lo posso visualizzare modificando il template child con le funzioni wp_get_nav_menu_object() e wp_nav_menu(); alla fine ho fatto un plugin.

Vediamo il codice.

Custom post type

Vabbè questa parte è più che semplice, vado a creare il cpt per far si che il cliente si crei i vari menu

assistenza wordpress

WP register custom nav menus , come registrare un menu personalizzato in WordPress

Questa è la funzione di WordPress che permette di registrare dei menu personali, nel codice sottostante ci sono due loop, uno lo uso per prelevare il titolo del cpt (il titolo del post che gli da il cliente), il secondo loop in foreach mi serve per registrare ogni menu che viene creato nel cpt, quindi :

Come far apparire un menu custom nel template di WordPress

Ora che abbiamo creato il menu non ci resta che inserirlo nel nostro tema, ecco il codice che va inserito nel punto in cui vogliamo far visualizzare il menu.

 

Potrebbe interessarti anche ...

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.