2017-05-04 4 views
1

Ich habe eine benutzerdefinierte Beitragstyp namens "Artists". Meine aktuellen Suchergebnisse ziehen diesen Post-Typ zusammen mit meinen Standard-Posts in einer Gruppierung. Ich habe Probleme, die beiden Posts in meinen Ergebnissen zu trennen.Wordpress Suchergebnisse separate Haupt Beiträge von benutzerdefinierten Beitrag Typ

Statt ...

  • Blog Beitrag
  • Blog Beitrag
  • Künstler Beitrag
  • Blog Beitrag
  • Künstler Beitrag

Ich mag würde ...

Blog-Artikel:

  • Blog Beitrag
  • Blog Beitrag
  • Blog Beitrag

ARTIST BEITRÄGE:

  • Künstler Beitrag
  • Künstler Beitrag

Ist das möglich? Ich bin mir nicht sicher, ob ich das mit einer Schleife/Abfrage lösen kann, oder es wäre schneller zwei Abfragen zu verwenden.

Aktuelle Code ist hier ...

<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-## --> 

Jede Hilfe sehr geschätzt. Mir ist klar, dass es bereits ähnliche Fragen gibt, aber die meisten waren für diese besondere Situation nicht hilfreich.

Antwort

-1

Ändern Sie einfach die Reihenfolge der wp_query Objekt

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

OP zu faul ist, um die Dokumente zu lesen, damit hier bieten i ein Beispiel:

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

EDIT: Hier ist eine andere mögliche Lösung, wenn Sie möchte eine neue Instanz von wp-query vermeiden und das globale Objekt verwenden:

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; 
} 
Verwandte Themen