Dans les paramètres de lecture, vous pouvez définir le nombre de publications affichées affectant le nombre de publications affichées dans tous les contextes. J'aimerais plutôt afficher un certain nombre de messages sur la page d'accueil et un nombre différent de messages sur des pages telles que des archives, des résultats de recherche, etc.
Je me suis rendu compte que je pouvais le faire en modifiant les fichiers de thème et en modifiant les paramètres de requête, mais je préférerais avoir un accès plus facile à une simple page de paramètres. Il y a longtemps, je suis tombé sur un plugin qui l'a fait, mais je ne peux pas le localiser maintenant.
Est-ce que quelqu'un connait un plugin pour faire ça, ou même une fonction que je pourrais mettre dans functions.php pour accomplir la même chose?
Je crois que la meilleure façon de faire cela dans un plugin est d'exécuter l'exemple de fonction suivant lorsque le hook d'action pre_get_posts
est rencontré. L'objet $wp_query
est disponible, ce qui signifie que vos balises conditionnelles sont disponibles, mais avant que WordPress ne les reçoive, cela signifie que vous modifiez les vars de requête avant l'exécution de la première requête, plutôt que d'ajouter une seconde requête, comme lorsque query_posts () est utilisé dans une requête. fichier de thème.
function custom_posts_per_page($query) {
if (is_home()) {
$query->set('posts_per_page', 8);
}
if (is_search()) {
$query->set('posts_per_page', -1);
}
if (is_archive()) {
$query->set('posts_per_page', 25);
} //endif
} //function
//this adds the function above to the 'pre_get_posts' action
add_action('pre_get_posts', 'custom_posts_per_page');
vous pouvez faire une boucle personnalisée en utilisant query_posts, et spécifier le nombre de publications par is_home, is_archive, etc.
juste une simple déclaration if avec query_posts