Ich ändere mit pre_get_posts
die Anzahl der auf meiner Homepage angezeigten Beiträge.
function lifelounge_query_adjust( $query ) {
if ( is_home() ) {
set_query_var( 'posts_per_page', 12 );
return;
}
}
add_filter( 'pre_get_posts', 'lifelounge_query_adjust' );
Aber ich habe ein Problem mit klebrigen Beiträgen. Grundsätzlich werden in der Abfrage mehr als die von mir angegebenen 12 Posts angezeigt, wenn ich irgendwelche klebrigen Posts habe, da 12 plus alle klebrigen Posts angezeigt werden . Ich könnte natürlich auch klebrige Beiträge ignorieren:
function lifelounge_query_adjust( $query ) {
if ( is_home() ) {
set_query_var( 'posts_per_page', 1 );
set_query_var( 'ignore_sticky_posts', 1 );
return;
}
}
add_filter( 'pre_get_posts', 'lifelounge_query_adjust' );
Aber ich halte das nicht für ideal. Ich denke , dass die klebrigen Beiträge werden sollten enthalten in der Grenze von 12 Stellen, und nicht hinzugefügt bis an die Grenze. Das macht für mich am meisten Sinn. Gibt es einen Weg, das zu erreichen? Habe ich einen Fehler gemacht, der Gesicht und Hand verdient?
Ziemlich genau ein Duplikat von: Sticky Posts & Posts pro Seite, aber das wurde seltsamerweise als zu lokalisiert geschlossen. Ich bin nicht einverstanden, offensichtlich, weil ich nach einer Antwort suche, aber auch, weil es eine Frage ist, warum WordPress das posts_per_page
Limit nicht einzuhalten scheint, wenn Sie klebrige Beiträge verwenden. Wenn Sie 12 Posts pro Seite haben möchten, sollten Sie 12 erhalten, nicht 13, was Sie erhalten würden, wenn Sie einen einzelnen klebrigen Post hätten.
$sticky_count + (12 - $sticky_count)
zu12- $sticky_count
though. Wenn ich zum Beispiel 1 Sticky habe, dann berechnet Ihre Mathematik immer noch 12 und WP fügt den Sticky Post hinzu, um 13 zu machen. Oh, und wennif ($sticky_count > $posts_per_page)
und wir auf 12 setzen, heißt das nicht, dass wir 24+ zeigen werden?