Ich möchte die Anzahl der auf bestimmten Seiten meiner WordPress-Site angezeigten Beiträge ändern.
Ich habe hier den folgenden Codeausschnitt gefunden:
$postsPage = $settings["postspage"]; query_posts('posts_per_page='.$postsPage);
Vorher anrufen if (have_posts()) while (have_posts()) the_post()
Ich bin sehr neu in PHP, aber was ich versuche, ist Folgendes
... if ( is_front_page()) { $postsPage = $settings["postspage"] + 1; }elseif ( is_tag()) { $postsPage = $settings["postspage"] - 2; } anders { $postsPage = $settings["postspage"]; } query_posts('posts_per_page='.$postsPage); ...
Aber leider funktioniert es nicht. Stattdessen wird nur 1 Beitrag von der Startseite zurückgegeben, statt der im WP-Menü festgelegten 5 Beiträge + 1. Ich kann den gewünschten Wert wie $postPage = 6; für is_front_page fest codieren und es funktioniert gut. Aus irgendeinem Grund kann ich nichts zu dem durch $settings["postspage"]
angegebenen Wert hinzufügen/subtrahieren. Es funktioniert auch, wenn ich den Wert nicht ändere (else-Klausel). Was habe ich verpasst?
Ich habe versucht, den Wert von $settings["postspage"]
in eine Ganzzahl umzuwandeln, weil ich dachte, dass er als Zeichenfolge zurückgegeben werden könnte. Ich verwende: $postsPage = (int)$settings["postspage"] + 1;
oder $postsPage = intval($settings["postspage"]) + 1;< ;/code>Aber ohne Erfolg. Da ich mich mit WordPress-Funktionen und deren Variablen nicht so gut auskenne, habe ich nach dem Grund gesucht, warum ich die Anzahl der Beiträge nicht ändern kann. Ich würde mich über jeden Tipp freuen!
目前尚不清楚您将该代码放在哪里,以及如何找到
$settings
,但这应该可行。$query
通过引用传递,因此您对其所做的任何更改都将反映在全局查询对象中。您不需要返回它,这意味着您可以安全地从每个条件内的函数返回,而不是使用elseif
。