Ich versuche, eine neue WP_Query
zu erstellen, die die letzten 5 Posts von Katze 1 anzeigt, die keine Miniaturansicht haben. Das funktioniert tatsächlich:
have_posts() ) : $the_query->the_post(); if ( ! has_post_thumbnail() ) { ?> <a href="https://wordpress.stackexchange.com/questions/173313/wp-query-condition-affects-posts-per-page-count/">
Aber sagen wir mal von den letzten 5 Posts, 3 haben das Thumbnail; In diesem Fall werden nur 2 Beiträge angezeigt. Ich möchte 5 als feste Anzahl von posts_per_page
und wenn in der Schleife am Ende Beiträge mit Thumbnail angezeigt werden, werden die älteren Posts angezeigt (um die Anzahl von 5 zu erreichen), anstatt nur die 2 ohne Thumbnails anzuzeigen.
Ich habe versucht, das if
vor $the_query
aber es hat nicht funktioniert.
Sie können versuchen, Beiträge, die kein vordefiniertes Bild haben, mit folgenden Elementen abzurufen:
$ppp = 5; // posts per page /** * Fetch $ppp posts, without thumbnails, in a given category: */ $args = array( 'cat' => 1, 'posts_per_page' => $ppp, 'meta_query' => array( array( 'key' => '_thumbnail_id', 'compare' => 'NOT EXISTS', ), ), ); $myposts = get_posts( $args );
Aber was ist, wenn es in dieser Kategorie nicht genügend Beiträge ohne ein vorgestellten Bild gibt? Nun, dann können wir einfach den Rest mit Posts mit einem vorgestellten Bild füllen:
/** * Fetch $ppp-x posts in a given category, with thumbnails, if x > 0: */ if( $count = count( $posts ) < $ppp ) { $args = array( 'cat' => 1, 'posts_per_page' => $ppp - $count, 'meta_query' => array( array( 'key' => '_thumbnail_id', 'compare' => 'EXISTS', ), ), ); $myposts = array_merge( $posts, get_posts( $args ) ); }
Dann können Sie Ihre Schleife einrichten mit:
global $post; foreach( $myposts as $post ) { setup_postdata( $post ); ?>< ?php the_title(); ?> < ?php } wp_reset_postdata();
Sie können auch überprüfen, ob Sie genügend Beiträge in der entsprechenden Kategorie erhalten haben.
Beachten Sie, dass dies nicht getestet ist, aber ich hoffe, dass Sie dies an Ihre Bedürfnisse anpassen können.
ps: Wenn ich mich richtig erinnere, hat @kaiser im allgemeinen Fall schon etwas ähnliches getriggers, mit ein paar zusätzlichen Geschmäcken 😉
Ich werde einen Link hinzufügen, wenn ich es finde.
Update: Ich fand es hier , denke ich. Dort gibt es einige interessante Antworten.