custom-post-types – ¿Cómo mostrar solo publicaciones de nivel superior en bucle a través de WP_Query?

Pregunta:

¿Cómo configuro mi bucle personalizado para que solo muestre publicaciones de nivel superior? Tengo un tipo de publicación personalizada jerárquica y la página de archivo muestra las publicaciones principales y secundarias.

Respuesta:

Esta solución se basa en un código de Justin Tadlock . Se llama a pre_get_posts antes de que WordPress obtenga las publicaciones del bucle principal. Básicamente, prueba para ver si la página es el archivo del tipo de publicación y se asegura de que no se haya configurado post_parent. Luego, estableces post_parent en 0, que es el padre predeterminado de las publicaciones de nivel superior. Muy fácil.

 <?php
    //pre_get_posts filter is called before WordPress gets posts
    add_filter( 'pre_get_posts', 'my_get_posts' );
    
    function my_get_posts( $query ) {
        //If the user is viewing the frontend, the page is an archive and post_parent is not set and post_type is the post type in question
        if ( ! is_admin() && is_archive() && false == $query->query_vars['post_parent'] &&  $query->query_vars['post_type'] === 'my_post_type')
            //set post_parent to 0, which is the default post_parent for top level posts
            $query->set( 'post_parent', 0 );
        return $query;
    }
    ?>

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım