2017-05-04 9 views
1

私は、「Artists」という名前のカスタムポストタイプを持っています。 私の現在の検索結果は、この投稿タイプを私の標準投稿と一緒に1つのグループにまとめています。 私の結果に2つの投稿タイプを分けることができません。Wordpressの検索結果は、カスタムポストタイプのメインポストとは別物です。

の代わりに...

  • ブログポスト
  • ブログポスト
  • アーティストポスト
  • 私が好きなブログのポスト
  • アーティストポスト

... 。

件のブログ記事:

  • ブログポスト
  • ブログポスト
  • ブログポスト

ARTIST投稿:

  • アーティストポスト
  • アーティストポスト

これは可能ですか? 1つのループ/クエリでこれを解決できるかどうか、または2つのクエリを使用する方が速いかどうかはわかりません。

現在のコードはここにある...

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 
    <header class="entry-header"> 
     <?php the_title(sprintf('<h1 class="entry-title"><a href="%s" rel="bookmark">', esc_url(get_permalink())), '</a></h1>'); ?> 

     <?php if ('post' == get_post_type()) : ?> 
     <div class="entry-meta"> 
      <?php the_date(); ?> 
     </div><!-- .entry-meta --> 
     <?php endif; ?> 
    </header><!-- .entry-header --> 

    <div class="entry-summary"> 
     <?php the_excerpt(); ?> 
    </div><!-- .entry-summary --> 
</article><!-- #post-## --> 

すべてのヘルプ高く評価しました。私はすでにこれについて同様の質問があることを認識していますが、ほとんどの場合、この特定の状況には役に立たないでしょう。

$args = array('order' => 'type'); 
$my_query = new WP_Query($args); 
while ($my_query->have_posts()) { 
// 
} 

EDIT:ここ あなたであれば、別の可能な解決策

答えて

-1

はちょうど私が例を提供ので、ここでドキュメントを読むために

$args = array(
    'order' => 'type' 
); 
$query = new WP_Query($args); 

OPが怠惰にあるwp_queryオブジェクトの順序を変更しますwp-queryの新しいインスタンスを避け、グローバルオブジェクトを使用したいと考えています。

add_filter('posts_orderby','my_sort_custom',10,2); 
function my_sort_custom($orderby, $query){ 
    global $wpdb; 

    if(!is_admin() && is_search()) 
     $orderby = $wpdb->prefix."posts.post_type ASC" 

    return $orderby; 
} 
関連する問題