0

検索結果を投稿の種類で並べ替える方法を見つけようとしています。私はワードプレスのスタック交換について質問し、誰かが答えようとしましたが、彼らは私が達成しようとしていることを理解していないと思います。--https ://wordpress.stackexchange.com/questions/72914/search-results-sorted-by-post-types

たとえば、ある人が結果のあるページに移動している用語を検索すると、すべての投稿タイプから見つかったすべての投稿が表示されますが、上部には、結果を並べ替えて結果のみを表示するさまざまな投稿タイプ名のリンクがあります。それぞれの投稿タイプの投稿。現在、各投稿タイプの検索結果ページにいくつかのループがありますが、テストすると、各ループに異なる投稿タイプのクエリがある場合でも、>ループはすべて同じ結果を示しています。

検索ページの私のコード-http://pastebin.com/L9zEw1cn

これは最初のループより少し上です<?php global $wp_query; $total_results = $wp_query->found_posts; ?> This is the first loop <?php if(have_posts()) : ?> <?php while(have_posts()) : the_post() ?> //My divs// <?php endwhile; endif; ?> <?php wp_reset_postdata(); ?>

次に、投稿タイプ名を除く他のすべてのループと同じ2番目のループ-<?php $args = array( 'post_type' => 'videos', 's' => $s ); ?> <?php if(have_posts()) : ?> <?php while(have_posts()) : the_post() ?> //My divs <?php endwhile; endif; ?> <?php wp_reset_postdata(); ?>

各ループがその投稿タイプのみの検索結果を表示するように修正するにはどうすればよいですか?

4

1 に答える 1

0

get_posts2 番目のループに使用してみてください。

$args = array(
  'post_type'=> 'videos',
  'numberposts' => -1,
  's' => $s
);
$videos = get_posts( $args );
foreach( $videos as $post ) : setup_postdata($post);
    // My divs
endforeach;

http://codex.wordpress.org/Template_Tags/get_posts

編集:引数に「numberposts」を追加しました。

于 2012-11-21T08:16:47.567 に答える