Je développe un thème Wordpress et j'ai enregistré un nouvel emplacement de menu (appelé menu principal) et j'utilise un menu avec celui-ci. Dans mon menu, j'ai une page appelée "page de niveau 2" sous une page appelée "page de niveau 1".
Je souhaite obtenir l'ID de la page parent ("page de niveau 1") sur la page enfant ("page de niveau 2"). J'ai essayé $post->post_parent
, get_post()->post_parent
, get_post_ancestors($post->ID)
et tous renvoient 0.
À ce stade, je ne sais pas pourquoi je ne peux pas récupérer l'ID de la page parent. Des idées?
Merci!
kraftner a probablement raison, mais je vous recommande de ne plus utiliser Global $ post. Je veux dire que ce n'est pas mauvais, mais il y a souvent des problèmes avec ce grand tableau qui peut être modifié par presque tout ce qui tourne sur l'installation wp.
Donc pour moi ce n'est pas très sûr. Je préfère utiliser get_queried_object()
et cela fonctionne de la même manière:
$parent_ID = get_queried_object()->post_parent;
Il récupère les données en fonction de la page en cours. Il utilise le $wp_query
global à la place. Attention, nous essayons d'obtenir la propriété post_parent, alors ne lancez pas ce code sur une page de catégorie, vous obtiendrez un avertissement.