Filtra la ricerca ...
Frase esatta
Categorie

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

Ciao e benvenuto. Se hai bisogno di chiarimenti sul codice, lascia un commento (no WhatsApp); ricorda però che non fornisco assistenza gratuita sugli articoli che ho scritto nè personalizzo il codice in modo gratuito, quindi se la tua richiesta va oltre il semplice "aiutino", se vuoi mi chiedi una consulenza a pagamento nella pagina contatti. Grazie della comprensione. Alessio

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

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 ...

Hai bisogno di una consulenza, lo sviluppo di un plugin o vuoi incrementare le performance del tuo sito ?

Se vuoi postare codice usa codeshare.io
Se vuoi postare uno screeshot usa postimages.org ed inserisci l'url nel commento.

Lascia un commento


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

Iscriviti e ricevi trucchi e guide

Inserisci la tua email per ricevere gli ultimi articoli dal blog.

Inserendo i tuoi dati confermi di aver letto ed essere d’accordo con la privacy policy.