ループの注文で困っています!投稿をカウントダウン スタイル (5、4、3、2、1) で表示したいのですが、メタデータとユーザー入力データを使用しています。
私はこのデータを持っています:
Post A with meta data (score = 2)
Post B with meta data (score = 4)
Post C with meta data (score = 6)
Post D with meta data (score = 8)
Post E with meta data (score = 10)
例のユーザーは、上位 3 つのカウントダウンを表示したいので、$user_input = 3 です。
ページには、投稿 C、投稿 D、投稿 E が表示されます (メタ スコアの順に並べられ、最高のスコアが最後に表示されます)。
私は wp_query ループを持っています:
$args = array('meta_key' => 'score', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'posts_per_page' => $user_input);
$qry= new WP_Query( $args );
$count_posts = $qry->post_count;
$offset = $count_post - $user_input
while ( $qry->have_posts() ) : $qry->the_post();
// echo stuff
order=ASC に設定され、ページあたりの投稿数が 3 に設定されているため (カテゴリに 5 つの投稿がある場合)、投稿 A、投稿 B、投稿 C が表示されることを除いて、機能します。 C、D、Eであることを除いて表示します。
wp_query をオフセットする必要があると思ったのですが、カテゴリ内の投稿数がわからないため、args 配列に「オフセット」を追加できません。WP_Query の後に post_count を実行し、user_input を減算して、オフセットする必要がある数を知る必要があります。そのため、$offset の計算を入れています。
私の質問はです。WP_query を正しい方法で変更するにはどうすればよいですか? です
query_posts('offset'.$offset.'&showposts'.$user_input)
別のクエリを実行しているため、オフセットが計算された後、それを行うのは悪い方法ですか?
wp_query にパラメーターを設定した後で簡単にパラメーターを追加する方法はありますか?
みんなありがとう