Subpagina's (child pages) in de Loop

Home » Gutenberg » Subpagina's (child pages) in de Loop

Het Gutenberg Query Loop block is krachtig voor het tonen van pagina's en berichten in een mooi format. Maar helaas zijn de instellingen beperkt. Zo wilde ik op een simpele manier in een paginatemplate een overzicht te tonen van de subpagina's,.

Daarvoor zijn er meerdere mogelijkheden, maar deze is wel het simpelste. Het Query Loop block geeft onder Filters de mogelijkheid om op Keyword te zoeken. Daar plaats ik de herkenbare trigger '[child-pages]'. Door in mijn plugin of thema gebruik te maken van de action hook 'pre_get_posts' worden alle queries gechecked op deze trigger. En daarna wordt de query aangepast naar wens. Deze oplossing werkt zowel frontend als backend in de Gutenberg editor.

Eigenlijk zijn de mogelijkheden oneindig, door gebruik van andere triggerwoorden die de query kunnen aanpassen..

PHP

Copied
/** * To show child pages in the Query Loop block, select 'Pages' * or any other hierarchical custom post type * and add '[child_pages]' to Filters -> Keyword. * * @param array $query The query provided by the pre_get_posts action hook. * * @return void */ function fwp_child_pages( $query ) { if ( ! $query->is_main_query() && '[child_pages]' === $query->get( 's' ) ) { $query->set( 's', '' ); // removes the search keyword. global $post; if ( $post && is_post_type_hierarchical( $post->post_type ) ) { $query->set( 'post_parent', $post->ID ); // adds current post ID to the query. } } } add_action( 'pre_get_posts', 'fwp_child_pages' );
Stuur een berichtje

Contact

Wil je meer weten over de mogelijkheden voor jouw nieuwe website? Vul dan dit webformulier in. 

FORTE web publishing
Hartingstraat 254
3511 HV  UTRECHT
Tel: +31 30 743 56 68
E-mail: info@forte.nl

    © FORTE web publishing
    KvK: 08095495 | BTW: NL001406492B48