0

私はこれを達成しようとしています

Author.php

  • オーサーループ:

    • 投稿ループ

    • 趣味ループ

    • スケジュール ループ

author.php テンプレート ファイルには author ループがあります。作成者のカスタム投稿タイプをいくつかループする必要があり、それからそれらを独自のタブに配置します。

ただし、Authors ループ内にクエリを配置すると、2 回ループし、理由がわかりません。

これは私が使用しているループです:

          <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>



            <div class="twelvecol first clearfix"><hr />


              <?php $looped = new WP_Query(array('post_type' => 'post', 'posts_per_page' => -1 ));
               if ( $looped->have_posts() ) { 
                   while ( $looped->have_posts() ) { 
                       $looped->the_post();
                       the_title();the_content();
                   }
               }
               wp_reset_postdata(); ?>
           </div>

2回ループするのを止める何かが欠けていますか?


ノート:

これらのループはその作成者に固有のものであるため、AUTHORS LOOP 内に配置する必要があります。STEVE の投稿が HARRY のページなどに表示されないようにする必要があります。

  • サイトの存続期間中に複数の作成者が追加および削除される可能性があるため、動的にする必要があります。クエリに作成者を含めることができます
4

3 に答える 3

1

多くの議論と画面を見つめた後、メインの作成者ループに WHILE が含まれているようで、ネストされたループでは、クエリにもしばらく時間がかかりました。

私が集めたものから、最初の WHILE は作成者が作成した投稿の数を尋ね、それを何度もループします。

入れ子になったループの WHILE は、通常どおりに動作します。

そのため、ネストされたループ内の投稿の量になり、その親によってループされました...

作成者が 5 つの投稿を投稿した場合、ネストされたループのコピーが 5 つ存在します。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

次のようにする必要があります。

<?php if ( have_posts() ): the_post(); ?> 

これが、この問題で将来人々に役立つことを願っています!

于 2013-01-31T09:53:03.637 に答える
0

このようにループをネストすることはできません. に引数を追加する必要がありますWP_Qwery.
現在の作成者のグローバル$wp_queryを確認し、それを WP_Query に含めます。

始めるにはこれで十分です。
質問がある場合、または詳細情報が必要な場合は、お尋ねください。

于 2013-01-30T12:29:24.753 に答える
0

外部ループはまったく必要ありません (ループ = 複数の反復)。authorID をパラメーターとしてクエリに追加するだけです。

于 2013-01-30T12:45:16.703 に答える