Menu par défaut de Wordpress dans la base de données
1 réponses
- votes
-
- 2013-01-05
Lemenuen lui-mêmeest unetaxonomie dans WP. Cela signifie que vouspouveztrouvertous lesmenus dans latable
wp_terms
,en exécutant la requête suivante:SELECT * FROM wp_terms ASt JOINT GAUCHE wp_term_taxonomy AStt ONtt.term_id=t.term_id WHEREtt.taxonomy='menu_nav';
L'élément demenuest untype depublicationpersonnalisé dans WP. Ils sont stockés dans latable
wp_posts
. Vouspouveztous lestrouveren utilisant cette requête:SELECT * FROM wp_posts WHEREpost_type='nav_menu_item';
Les relationsentre lesmenuset les éléments demenu sont stockées dans latable
wp_term_relationships
. Pourtrouvertous les éléments d'unmenu spécifique,vouspouvez utiliser cette requête:SELECTp. * DE wp_posts ASp JOINT GAUCHE wp_term_relationships AStr ONtr.object_id=p.ID JOINT GAUCHE wp_term_taxonomy AStt ONtt.term_taxonomy_id=tr.term_taxonomy_id WHEREp.post_type='nav_menu_item' ANDtt.term_id=/* votre ID demenu */;
Lesinformations sur lemenu actuellement sélectionné setrouvent dans latable
wp_options
en tant quetableau PHP sérialisé. Parexemple,sinous utilisons lethème TwentyEleven,nous aurons unenregistrement dans latablewp_options
avec la colonneoption_name
égale àtheme_mod_twentyeleven
etoption_value < La colonne/code>est égale à
...; s: 18: "nav_menu_locations"; a: 1: {s: 7: "primary";i: 103;}}
. Ici,vouspouvez voir que lemenu avecterm_id
égal à 103est actuellement sélectionné commemenu"principal"
.Leprincipe cléiciest quenous avonstoujours unenregistrement d'options séparépour chaquethème WP. Ces options ont lamême structure denom:
theme_mods_ {your-theme-name}
.P.S .: Pour changer lemenu actuel dans lepanneau d'administration,accédez simplement à
Apparence
& raquo;Menus
et sélectionnez lemenu dont vous avezbesoin dans la zonemétaEmplacements desthèmes
:Menu by itself is a taxonomy in WP. It means that you can find all menus in
wp_terms
table, by running following query:SELECT * FROM wp_terms AS t LEFT JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'nav_menu';
Menu item is custom post type in WP. They are stored in
wp_posts
table. You can find all of them by using this query:SELECT * FROM wp_posts WHERE post_type = 'nav_menu_item';
Relations between menus and menu items are stored in
wp_term_relationships
table. To find all items of specific menu you can use this query:SELECT p.* FROM wp_posts AS p LEFT JOIN wp_term_relationships AS tr ON tr.object_id = p.ID LEFT JOIN wp_term_taxonomy AS tt ON tt.term_taxonomy_id = tr.term_taxonomy_id WHERE p.post_type = 'nav_menu_item' AND tt.term_id = /*your menu ID*/;
Information about currently select menu is located in
wp_options
table as serialized PHP array. For example if we use TwentyEleven theme, then we will have a record inwp_options
table withoption_name
column equals totheme_mod_twentyeleven
andoption_value
column equals to...;s:18:"nav_menu_locations";a:1:{s:7:"primary";i:103;}}
. Here you can see that menu withterm_id
equals to 103 is currently selected as"primary"
menu.The key principle here is that we always have separate options record for each WP theme. Such options have the same name structure:
theme_mods_{your-theme-name}
.P.S.: To change current menu in the admin panel, just go to
Appearance
»Menus
page and select menu you need inTheme Locations
meta box:-
Mercipour votre réponsemais Je veux savoir oùil stocke lemenupar défaut (affiché aufront-end)maintenant.Thanks for your reply but I want to know where it stores the menu which is default (showing to front end) now.
- 0
- 2013-01-05
- Hiren Rathod
-
@HirenRathod J'aimis àjourma réponse@HirenRathod I have updated my answer
- 0
- 2013-01-05
- Eugene Manuilov
-
Oui,j'ai la réponse.J'utilise lethème hypershotet lemenuprimaire conservé commemenu detest. Il stocke comme ça a: 2: {i: 0;b: 0; s: 18: "nav_menu_locations"; a: 2: {s: 11: "header-menu";i: 27; s: 11: "footer-menu";i: 0;}} Ici,i: 27 signifie que 27est leterm_id de wp_terms. Merci @eugene-manuilov :)Yes, I got the answer. I'm using hypershot theme and kept primery menu as test menu. It stores like this a:2:{i:0;b:0;s:18:"nav_menu_locations";a:2:{s:11:"header-menu";i:27;s:11:"footer-menu";i:0;}} Here i:27 means 27 is the term_id from wp_terms. Thanks @eugene-manuilov :)
- 0
- 2013-01-06
- Hiren Rathod
-
Comment choisiriez-vous les éléments demenu (pages/articles/liens)pour un `term_id` donné?How would you select the menu items (pages/posts/links) for a given `term_id`?
- 0
- 2015-09-19
- Xeoncross
Il y a 3menus dansmon wordpress (3.5)maintenant.
Maintenant,j'aigardé lemenu detestpar défaut.
Où Wordpress stocke-t-il cette chose?
Je veux savoir où wordpress stocke lemenu actuel qui s'affiche dans lefront-end.