Voici la structure des menus de wordpress dans la base de données
Trouver les menus
La colonne term_id nous donne l’id du menu
SELECT * FROM tabmod392term_taxonomy tt INNER JOIN tabmod392terms t ON tt.term_id = t.term_id WHERE tt.taxonomy = 'nav_menu';
Afficher les éléments d’un menu en particulier
Les liens entre éléments et menu sont dans la table term_relationships
SELECT * FROM tabmod392term_relationships tr WHERE tr.term_taxonomy_id = 18;
Afficher de façon détaillée une entrée de menu
SELECT * FROM tabmod392term_relationships tr INNER JOIN tabmod392posts p ON tr.object_id = p.ID WHERE tr.term_taxonomy_id = 18 ORDER BY p.menu_order;
Il faut encore aller vérifier les informations supplémentaire du menu dans la table postmeta et posts:
SELECT * FROM tabmod392posts p WHERE p.ID = 931;
SELECT * FROM tabmod392postmeta pm WHERE pm.post_id = 931;
Pour dupliquer un posts ainsi que les postsmeta
Table posts, via sqlyog, on enleve le read-only de la table et on ajoute a la main l’entrée.
Pour la table postemeta, comme il y a plusieurs row a insérer, on peux utiliser ce code:
INSERT INTO tabmod392postmeta (post_id,meta_key,meta_value) SELECT "934",meta_key,meta_value FROM tabmod392postmeta WHERE post_id = 931;
Et ne pas oublier de modifier les champs faisant référence a eux-mêmes tels que _menu_item_obect_id