Je souhaite modifier le nombre de posts affichés sur certaines pages de mon site WordPress.
J'ai trouvé l'extrait de code suivant ici :
$postsPage = $settings["postspage"]; query_posts('posts_per_page='.$postsPage);
Appeler avant if (have_posts()) while (have_posts()) the_post()
Je suis très nouveau sur PHP, mais ce que j'essaie, c'est ceci
... si ( is_front_page()) { $postsPage = $settings["postspage"] + 1 ; }elseif ( is_tag()) { $postsPage = $settings["postspage"] - 2; } autre { $postsPage = $settings["postspage"]; } query_posts('posts_per_page='.$postsPage); ...Mais malheureusement, cela ne fonctionne pas. Au lieu de cela, il ne renvoie qu'une seule publication de la page d'accueil au lieu des 5 publications + 1 définies dans le menu WP. Je peux coder en dur la valeur souhaitée comme $postPage = 6; pour is_front_page et cela fonctionne bien. Pour une raison quelconque, je ne peux rien ajouter/soustraire de la valeur donnée par
$settings["postspage"]
. Cela fonctionne également si je ne change pas la valeur (clause else). Qu'est-ce que j'ai raté?J'ai essayé de convertir la valeur de
$settings["postspage"]
en un entier car je pensais qu'elle pourrait être renvoyée sous forme de chaîne. J'utilise :$postsPage = (int)$settings["postspage"] + 1;
ou$postsPage = intval($settings["postspage"]) + 1;< ;/code>Mais sans succès. Comme je ne connais pas très bien les fonctions wordpress et leurs variables, je cherchais la raison pour laquelle je ne peux pas modifier le nombre de posts. J'apprécierais tous les conseils!
On ne sait pas où vous mettez ce code et comment le trouver
$settings
, mais cela devrait fonctionner.$query
通过引用传递,因此您对其所做的任何更改都将反映在全局查询对象中。您不需要返回它,这意味着您可以安全地从每个条件内的函数返回,而不是使用elseif
.