Dans les paramètres de lecture, il est possible de définir le nombre de messages affichés qui affecte le nombre de messages affichés dans tous les contextes. Je voudrais plutôt afficher un certain nombre de publications sur la page d'accueil et un nombre différent de publications sur des pages comme les archives, les résultats de recherche, etc.
Je me rends compte que je pourrais le faire en éditant 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 a fait ça, mais je ne peux pas le localiser maintenant.
Est-ce que quelqu'un connaît un plugin pour faire cela, ou même une fonction que je pourrais mettre dans functions.php pour accomplir la même chose?
Réponses:
Je crois que la meilleure façon de le faire dans un plugin est d'exécuter l'exemple de fonction suivant lorsque le
pre_get_posts
hook d'action est rencontré. L'$wp_query
objet est disponible, ce qui signifie que vos balises conditionnelles sont disponibles, mais avant que WordPress ne reçoive les publications, ce qui signifie que vous modifiez les variables de requête avant l'exécution de la première requête, plutôt que d'ajouter une deuxième requête comme lorsque query_posts () est utilisé dans un thème fichier.la source
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 instruction if avec query_posts
la source
query_posts
votre thème, vous ignorerez la requête d'origine et en ferez une autre redondante.Pour ajouter à cette question. Est-ce que quelqu'un sait comment déterminer post_per_page pour cette fonction fonction custom_posts_per_page ($ query) si ajoutez la nouvelle page à index.php comme ceci:
la source
Dans un souci d'exhaustivité, j'ai trouvé que la
query_posts
combinaison avec la$query_string
concaténation fonctionne bien.J'ai placé ce code dans
index.php
(mon thème n'a pas category.php) ...Bien sûr, ce que nous faisons ici est de modifier la chaîne de requête interne de la boucle, en remplaçant le nombre par défaut de publications par page .
Cela fonctionne un plaisir de fournir une liste plus petite de messages sur la page d'accueil où je montre des messages complets, et une liste beaucoup plus grande de messages partout ailleurs (catégories, par date, etc.) où je ne montre que des résumés de messages.
Cependant, veuillez noter que contrairement à la réponse acceptée, cela exécutera la requête deux fois , ce n'est donc pas une solution aussi intéressante.
la source