2

「category.php」ファイルでは、この奇妙な方法で投稿を並べ替える必要があります。

  • 最初に、著者が「管理者」以外のすべての投稿 (タイトルのアルファベット順)
  • 「admin」によるすべての投稿より (同じアルファベット順)

クエリを実行するために使用する標準コードは次のとおりです。

<?php global 
    $wp_query; 
    query_posts( 
        array_merge( 
            array('orderby' => 'title', 'order' => 'ASC'), 
            $wp_query->query
        )
    );
 ?>

2 つのクエリをネストせずにそれを達成する方法について何か考えはありますか?

前もって感謝します!


編集:以下は、以前のバージョンの回答で Sepster が示唆したように、試行されたコードです。しかし、現時点では、このコードは「管理者」とは異なる著者の投稿が来るまで、(他の投稿ではなく)「管理者」からのすべての投稿を表示し始めます。その時点で結果を中断し、結果の次のページにジャンプします。

<?php 
    global $wp_query; 
    query_posts( 
      array_merge( 
         array('orderby' => 'title', 'order' => 'ASC'), 
         $wp_query->query 
      )
    );

    $adminPosts = false;
    for ($i=1; $i<=2; $i++) { 
      while ( $wp_query->have_posts() ) {
        $wp_query->the_post();
        $author = get_the_author();
        if ($author == 'admin' && $adminPosts == false) break;
        if ($author != 'admin' && $adminPosts == true) break;

        // ALL MY STUFF

      } // end while
      rewind_posts();
      $adminPosts=true;
   } // end FOR 
 ?>
4

1 に答える 1