Suchen Sie nach klebrigen Posts mit Thumbnails

Ich muss maximal 5 zuletzt verfasste Posts mit einem Thumbnail anzeigen. Und ich muss die angezeigten Beiträge genau zählen. Ich habe versucht, klebrige Beiträge ohne ein Thumbnail mit Meta-Abfrage auszuschließen, aber ohne Glück.

$sticky = get_option('sticky_posts'); if (empty($sticky)) { return; } $counter = 1; $r = new WP_Query(array( 'posts_per_page' => 5, 'post__in' => $sticky, 'meta_query' => array( array( 'key' => '_thumbnail_id', 'compare' => 'EXISTS', ), ), 'post_status' => 'publish', 'orderby' => 'post__in', 'post_type' => array( 'post' ), )); if ($r->have_posts()) : echo '
'; while ( $r->have_posts() ) : $r->the_post(); echo '
'; // Post content echo '
'; $counter++; endwhile; echo '
'; endif; wp_reset_postdata();

Solutions Collecting From Web of "Suchen Sie nach klebrigen Posts mit Thumbnails"

Sie müssen ignore_sticky_posts in Ihren Abfrageargumenten auf ” true . Auf diese Weise schließen Sie klebrige Posts aus und konzentrieren sich nur auf das Post-ID-Array, das an post_in

 'ignore_sticky_posts' => true, 

BEARBEITEN

Wenn das nicht viel Sinn macht, sehen Sie bitte meine Antwort hier auf ähnliche Frage, wo ich es ein bisschen besser erklärt habe. Achten Sie darauf, es zu überprüfen

DER CODE

 $r = new WP_Query(array( 'posts_per_page' => 5, 'post__in' => $sticky, 'meta_query' => array( array( 'key' => '_thumbnail_id', 'compare' => 'EXISTS', ), ), 'post_status' => 'publish', 'orderby' => 'post__in', 'post_type' => array( 'post' ), 'ignore_sticky_posts' => true, )); 

Was Sie tun, ist richtig, außer dass Sie unvorsichtig sind oder Sie einfach Code von woanders kopiert und eingefügt, ohne es zu ändern.

 < ?php $sticky = get_option('sticky_posts'); if (empty($sticky)) { return; } $counter = 1; $posts = new WP_Query(array( 'posts_per_page' => 5, 'post__in' => $sticky, 'meta_query' => array( array( 'key' => '_thumbnail_id', 'compare' => 'EXISTS', ), ), 'post_status' => 'publish', 'orderby' => 'post__in', 'post_type' => array( 'post' ), )); if ($posts->have_posts()) : while ( $posts->have_posts() ) : $posts->the_post(); if ( has_post_thumbnail() ) : echo '
'; echo '
'; the_post_thumbnail(); echo '
'; echo '
'; $counter++; endif; endwhile; endif; wp_reset_postdata();