requête wp pour obtenir les pages enfants de la page actuelle
-
-
Essayez cette solution == obtenir lesenfants d'unmessage - http://wordpress.stackexchange.com/a/123143/42702Try this solution == get children of a post - http://wordpress.stackexchange.com/a/123143/42702
- 0
- 2013-11-13
- T.Todua
-
3 réponses
- votes
-
- 2012-07-31
Vous devez changer
child_of
enpost_parent
et également ajouterpost_type => 'page'
:Codex WordPress Wp_query Publier & amp; Paramètres de lapage
<?php $args = array( 'post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $post->ID, 'order' => 'ASC', 'orderby' => 'menu_order' ); $parent = new WP_Query( $args ); if ( $parent->have_posts() ) : ?> <?php while ( $parent->have_posts() ) : $parent->the_post(); ?> <div id="parent-<?php the_ID(); ?>" class="parent-page"> <h1><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1> <p><?php the_advanced_excerpt(); ?></p> </div> <?php endwhile; ?> <?php endif; wp_reset_postdata(); ?>
You have to change
child_of
topost_parent
and also addpost_type => 'page'
:WordPress codex Wp_query Post & Page Parameters
<?php $args = array( 'post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $post->ID, 'order' => 'ASC', 'orderby' => 'menu_order' ); $parent = new WP_Query( $args ); if ( $parent->have_posts() ) : ?> <?php while ( $parent->have_posts() ) : $parent->the_post(); ?> <div id="parent-<?php the_ID(); ?>" class="parent-page"> <h1><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1> <p><?php the_advanced_excerpt(); ?></p> </div> <?php endwhile; ?> <?php endif; wp_reset_postdata(); ?>
-
Mercimec,j'aiessayé `post_parent` originalmais c'est` `post_type '=>'page'` quiest la clé -est-ce que les requêtes wordpresspar défaut sontpostées alors?J'accepterai la réponse quand celame lepermettra.Thanks dude, I tried `post_parent` original but it's `'post_type' => 'page'` that is the key - does wordpress querys default to post then? I will accept answer when it lets me.
- 1
- 2012-07-31
- Joshc
-
Oui,``post_type '=>'post'`est la valeurpar défaut.Yes, `'post_type' => 'post'` is default.
- 0
- 2019-03-26
- mrwweb
-
- 2020-02-26
Je sais que c'est une questiontrès ancienne,mais depuis queje l'aiposée,d'autrespourraienttout aussibien.
Wordpress a une solutiontrès simplepour lister lespages,où vouspouvez également ajouter des arguments.
C'esttout ce dont vous aurezbesoinpour afficher lesenfants d'unepage:
wp_list_pages(array( 'child_of' => $post->ID, 'title_li' => '' ))
Consultez la page de référencepour wp_list_pages pourtoutes les options que vouspouvez appliquer.
I know this is a very old question, but since I landed on it, others might as well.
Wordpress has a very simple solution for listing pages, where you can add some arguments as well.
This is all you will need to display a page's children:
wp_list_pages(array( 'child_of' => $post->ID, 'title_li' => '' ))
Look at the reference page for wp_list_pages for all options you can apply.
-
Cela renverra une chaîne HTMLplutôt qu'une liste d'objets depublication,doncprobablementpas ce que l'OP veut.This will return an HTML string rather than a list of post objects, so probably not what the OP wants.
- 0
- 2020-07-27
- Alexander Holsgrove
-
- 2020-02-05
En réécrivant ceci dans unefonction dansfunctions.php,vous devez ajouter global $post;
function page_summary() { global $post; $args = array( 'post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $post->ID, 'order' => 'ASC', 'orderby' => 'menu_order' ); $parent = new WP_Query( $args ); if ( $parent->have_posts() ) : while ( $parent->have_posts() ) : $parent->the_post(); ?> <div id="parent-<?php the_ID(); ?>" class="parent-page"> <h1><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1> </div> <?php endwhile; endif; wp_reset_postdata(); }
Rewriting this to a function in functions.php you need to add global $post;
function page_summary() { global $post; $args = array( 'post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $post->ID, 'order' => 'ASC', 'orderby' => 'menu_order' ); $parent = new WP_Query( $args ); if ( $parent->have_posts() ) : while ( $parent->have_posts() ) : $parent->the_post(); ?> <div id="parent-<?php the_ID(); ?>" class="parent-page"> <h1><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1> </div> <?php endwhile; endif; wp_reset_postdata(); }
Quelqu'unpeut-ilm'aider avec la wp_query.
Je crée unfichier/bouclemodèlepour créeret archiver lapage despagesenfants de lapageen cours.
Cette requête doit être automatique carje l'utilise sur quelquespages.
Voicima requête ci-dessous,maiselle renvoie simplementmes articles au lieu depagesenfants.
Merci d'avancepourtoute aide.
Josh