WordPress でページごとの投稿数を動的に変更する方法
P粉256487077
P粉256487077 2023-09-02 09:13:54
0
1
411
<p>WordPress サイトの特定のページに表示される投稿の数を変更したいと考えています。 </p> <p>ここで次のコード スニペットを見つけました: </p> <pre class="brush:php;toolbar:false;">$postsPage = $settings["postspage"]; query_posts('posts_per_page='.$postsPage);</pre> <p>事前にお電話ください <code>if (have_posts()) while (have_posts()) the_post()</code></p> <p>私は php の初心者ですが、私が試しているのはこれです</p> <pre class="brush:php;toolbar:false;">... if ( is_front_page()) { $postsPage = $settings["投稿ページ"] 1; }elseif ( is_tag()) { $postsPage = $settings["postspage"] - 2; } それ以外 { $postsPage = $settings["投稿ページ"]; } query_posts('posts_per_page='.$postsPage); ...</pre> <p>しかし、残念ながらそれはうまくいきません。代わりに、WP メニューで設定された 5 つの投稿のうち 1 つではなく、ホームページから 1 つの投稿のみが返されます。 is_front_page に対して $postPage = 6; </code> のように必要な値をハードコーディングすると、正常に動作します。 何らかの理由で、<code>$settings["postspage"]</code> で指定された値に何も加算/減算できません。値を変更しない場合(else-clause)にも機能します。私は何を取りこぼしたか? </p> <p>文字列として返される可能性があると考えたので、<code>$settings["postspage"]</code> の値を整数に変換してみました。私は次のように使用します: <code>$postsPage = (int)$settings["postspage"] 1;</code> または <code>$postsPage = intval($settings["postspage"]) 1;</コード>しかし成功しません。 wordpressの関数とその変数にあまり詳しくないので、投稿数を変更できない理由を探していました。 ヒントをいただければ幸いです。 </p>
P粉256487077
P粉256487077

全員に返信(1)
P粉153503989

このコードをどこに置いたのか、$settings を見つける方法は明確ではありませんが、これは機能するはずです。

リーリー

$query は参照によって渡されるため、それに加えた変更はグローバル クエリ オブジェクトに反映されます。これを返す必要はありません。つまり、elseif を使用する代わりに、各条件内の関数から安全に戻ることができます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!