J'utilise pre_get_posts
pour ajuster le nombre de messages affichés sur ma page d'accueil.
function lifelounge_query_adjust( $query ) {
if ( is_home() ) {
set_query_var( 'posts_per_page', 12 );
return;
}
}
add_filter( 'pre_get_posts', 'lifelounge_query_adjust' );
Mais je rencontre un problème avec les messages collants. Fondamentalement, si j'ai des messages collants, la requête affichera plus que les 12 messages que j'ai spécifiés, car elle affichera 12 plus tous les messages collants. Je pourrais, bien sûr, ignorer les messages collants:
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' );
Mais je ne pense pas que ce soit idéal. Je pense que les messages collants devraient être inclus dans la limite de 12 messages, et non ajoutés à la limite. C'est ce qui me semble le plus logique. Y a-t-il un moyen d'y parvenir? Ai-je fait une erreur digne du visage?
Quasiment un doublon de: Post-it collants & Post par page mais qui était étrangement fermé car trop localisé. Je ne suis pas d'accord, évidemment parce que je cherche une réponse, mais aussi parce que c'est une question de savoir pourquoi WordPress ne semble pas respecter la posts_per_page
limite si vous utilisez des posts collants. Si vous voulez 12 articles par page, vous devez en obtenir 12, et non 13, ce que vous obtiendriez si vous aviez un seul article collant.
$sticky_count + (12 - $sticky_count)
pour12- $sticky_count
bien. Par exemple, si j'ai 1 collant, alors vos calculs fonctionnent toujours à 12, puis WP ajoute le post collant pour en faire 13. Oh, et siif ($sticky_count > $posts_per_page)
et nous avons réglé à 12, cela ne veut-il pas dire que nous afficherons 24+?