Saltar al contenido

Wordpress - Excluir ID de publicación de wp_query

Basta ya de investigar por todo internet porque llegaste al sitio correcto, poseemos la respuesta que buscas pero sin problemas.

Solución:

El parámetro que buscas es post__not_in (Kaiser tiene un error tipográfico en su respuesta). Así que el código podría ser como:

 array(278),
    'post_type' => 'case-study',
    'paged' => $paged,
));
while ($my_query->have_posts()) : $my_query->the_post(); endwhile;

WP_Query post__not_in documentación

Supongo que esto fue pesado, pero para responder a su pregunta original, he recopilado todas las identificaciones de las publicaciones en un array en el primer ciclo, y excluyó esas publicaciones del segundo ciclo usando 'post__not_in' que espera un array de ID de publicación

 'test-cat-1', 'order' => 'ASC');
$q1 = new WP_query($args);
if($q1->have_posts()) :
$firstPosts = array();
    while($q1->have_posts()) : $q1->the_post();
        $firstPosts[] = $post->ID; // add post id to array
        echo '
'; echo "

" . get_the_title() . "

"; echo "
"; endwhile; endif; /****************************************************************************/ // array of post id's collected in first loop, can now be used as value for the 'post__not_in' parameter in second loops query $args $args2 = array('post__not_in' => $firstPosts, 'order' => 'ASC' ); $q2 = new WP_query($args2); if($q2->have_posts()) : while($q2->have_posts()) : $q2->the_post(); echo '
'; echo "

" . get_the_title() . "

"; echo "
"; endwhile; endif; ?>

El primer ciclo muestra todas las publicaciones en una categoría y recopila las identificaciones de las publicaciones en un array.

El segundo ciclo muestra todas las publicaciones, excluyendo las publicaciones del primer ciclo.

Tienes que definir el post__not_in argumento como array. Incluso para un solo valor. Y, por favor, no sobrescriba las variables centrales globales con cosas temporales.

 'case-study',
    'paged'        => $paged,
    'post__not_in' => array( 1, ),
) );
if ( $query->have_posts() ) 
while ( $query->have_posts() ) 
    $query->the_post();

    // do stuff

 // endwhile;
 // endif;
?>

Sección de Reseñas y Valoraciones

Si tienes alguna desconfianza o forma de progresar nuestro enunciado eres capaz de añadir una explicación y con gusto lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.