So ändern Sie die Anzahl der Beiträge pro Seite in WordPress dynamisch
P粉256487077
2023-09-02 09:13:54
<p>Ich möchte die Anzahl der auf bestimmten Seiten meiner WordPress-Site angezeigten Beiträge ändern. </p>
<p>Ich habe hier den folgenden Codeausschnitt gefunden: </p>
<pre class="brush:php;toolbar:false;">$postsPage = $settings["postspage"];
query_posts('posts_per_page='.$postsPage);</pre>
<p>Vorher anrufen
<code>if (have_posts()) while (have_posts()) the_post()</code></p>
<p>Ich bin sehr neu in PHP, aber was ich versuche, ist Folgendes</p>
<pre class="brush:php;toolbar:false;">...
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);
...</pre>
<p>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 <code>$settings["postspage"]</code> angegebenen Wert hinzufügen/subtrahieren. Es funktioniert auch, wenn ich den Wert nicht ändere (else-Klausel). Was habe ich verpasst? </p>
<p>Ich habe versucht, den Wert von <code>$settings["postspage"]</code> in eine Ganzzahl umzuwandeln, weil ich dachte, dass er als Zeichenfolge zurückgegeben werden könnte. Ich verwende: <code>$postsPage = (int)$settings["postspage"] + 1;</code> oder <code>$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! </p>
目前尚不清楚您将该代码放在哪里,以及如何找到
$settings
,但这应该可行。$query
通过引用传递,因此您对其所做的任何更改都将反映在全局查询对象中。您不需要返回它,这意味着您可以安全地从每个条件内的函数返回,而不是使用elseif
。