web-dev-qa-db-fra.com

Comment masquer toutes les pages enfants avec post_query?

j'ai un modèle de page comme page de démarrage (home.php). J'utilise une grille de 2 colonnes pour afficher toutes les pages de ce home.php avec titre et extrait. Malheureusement, mes pages enfants sont également affichées et je ne vois pas comment les cacher.

Je n'essaie pas de faire une liste de menus ou quelque chose, c'est plus comme une galerie de mes pages.

pour l'instant j'utilise "query_posts ('post_type = page'. $ parent);" avec le résultat mentionné. J'ai essayé d'utiliser un tableau aussi, mais cela me donnera des messages au lieu de pages (en raison, je n'ai pas encore compris). Que manque-t-il pour masquer toutes les pages enfants et afficher uniquement les pages parentes? De l'aide? Merci d'avance! Dan

1
Dan

Il existe un paramètre dans WP_Query appelé post_parent. Normalement, cela fait référence à l'ID du parent de la publication, mais comme il s'agit d'un champ entier, les pages sans parent ont essentiellement un post_parent de 0.

Donc, pour obtenir toutes les pages qui ne sont pas des pages enfants d'une autre page, vous pouvez utiliser

query_posts( 'post_type=page&post_parent=0' );

ou, dans la syntaxe de tableau qui serait

query_posts( array( 
    'post_type' => 'page',
    'post_parent' => 0 ) );
1
goldenapples