web-dev-qa-db-fra.com

Pourquoi les éléments de navigation sont-ils enregistrés dans la base de données?

Peut-être que je ne comprends tout simplement pas le concept de WP ici, mais pourquoi tout dans Wordpress est-il stocké sous une forme quelconque? J'ai un ensemble de tables personnalisées qui contiennent des centaines et des milliers d'articles. Je souhaite créer par programme un menu de navigation qui mette à jour de manière dynamique les éléments pour refléter mes tableaux personnalisés. Je n'ai pas réussi à trouver un moyen de le faire sans utiliser la fonction suivante:

wp_update_nav_menu_item ()

À ma connaissance, cette fonction stocke l’élément du tableau dans les tables wordpress sous forme de posts/taxonomies? Ceci est inutile dans mon cas et a l'air assez permanent. Mes éléments de menu changent quasiment tous les jours. Je ne veux pas extraire des éléments d'une table uniquement pour les stocker dans une autre.

Est-ce que quelqu'un sait comment je pourrais directement mettre à jour le menu de navigation à chaque chargement de la page d'accueil sans aucune intervention de la part du panneau d'administration?

Merci.

2
SPI

Filtrez wp_nav_menu_objects et ajoutez dynamiquement vos éléments personnalisés (voir cet exemple ou ceci ). Vous obtenez la liste actuelle des éléments et les arguments que wp_nav_menu() utilisait comme paramètres. Ensuite, vous pouvez simplement ajouter de nouveaux éléments ou supprimer ceux existants.

2
fuxia