Sortieren Sie Beiträge nach Kategorie und Titel

Ich versuche herauszufinden, wie ich meine Beiträge basierend auf dem Kategorietitel (a-z) ausgeben kann, und zweitens, den Titel der Beiträge in der Kategorie:

Eine Kategorie
– Ein Beitrag, der mit einem beginnt
– Weil ich zweitens ausgegeben werden möchte
– Komm schon und gib mir schon aus

B KATEGORIE
– Ein weiterer Beitrag, der mit einem beginnt
– Bruder, ich kann keinen anderen Titel auf B finden
– Ich schätze, Sie verstehen es

Wie erreiche ich das?

Solutions Collecting From Web of "Sortieren Sie Beiträge nach Kategorie und Titel"

Um sie nach Kategorie zu sortieren, müssen Sie die Liste der Kategorien durchlaufen und dann nach jeder Kategorie abfragen:

$categories = get_categories( array ('orderby' => 'name', 'order' => 'asc' ) ); foreach ($categories as $category){ echo "Category is: $category->name 
"; $catPosts = new WP_Query( array ( 'category_name' => $category->slug, 'orderby' => 'title' ) ); if ( $catPosts->have_posts() ){ while ( $catPost->have_posts() ){ $catPost->the_post(); echo "the_title()"; } echo "

More in this category

"; }//end if } //end foreach wp_reset_postdata();

Ich meine, meinst du GROUP Post nach Kategorie / Taxonomie NOT SORT .

Hier ist ein Code für GROUP nach category/taxonomy

  1. $terms = get_terms( 'my_cat_name' );

Hier ist der Name cat_name der Name der Taxonomie. Wenn Sie ihn wie cat_name registrieren: z

 register_taxonomy( 'my_cat_name', array( 'custom_post_name' ), $args ) 
  1. Benutze es in Query zB:

     $args = array( 'post_type' => 'custom_post_name', 'my_cat_name' => $term->slug, 'posts_per_page' => $no_of_posts, ); 
  2. Vollständiger Code:

     $terms = get_terms( 'CUSTOM_TAXONOMY_SLUG' ); if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ $output .= '
      '; foreach ( $terms as $term ) { $output .= '
    • '; $output .= '

      ' . $term->name . '

      '; // Taxonomy/Category Name $args = array( 'post_type' => 'POST_TYPE_SLUG', 'CUSTOM_TAXONOMY_SLUG' => $term->slug, 'posts_per_page' => -1, ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { $output .= '
        '; while ( $the_query->have_posts() ) { $the_query->the_post(); $output .='
      • '; $output .='

        ' .get_the_title(). '

        '; $output .='
      • '; } $output .= '
      '; } wp_reset_postdata(); $output .= '
    • '; } $output .= '
    '; }

Sie können den Parameter orderby für eine neue wp_query Instanz verwenden:

 $query = new WP_Query( array ( 'orderby' => 'title', 'order' => 'DESC' ) ); 

Soo für jede Kategorie verwenden Sie eine separate Instanz.

Weitere Informationen finden Sie hier: http://codex.wordpress.org/Class_Reference/WP_Query

Erweiterung der Arbeit von Maheshwaghmare;

 < ? $terms = get_terms( 'CUSTOM_TAXONOMY' ); if ( ! empty( $terms ) ){ ?> 
< ? foreach ( $terms as $term ) { //print_r($term) // DEBUG; $term_slug = $term->slug; $term_name = $term->name; $term_description = $term->description; ?>

< ?=$term_name; ?>

< ?=$term_description; ?>

< ? $args = array( 'post_type' => 'CUSTOM_POST_TYPE', 'tax_query' => array( array( 'taxonomy' => 'CUSTOM_TAXONOMY', 'field' => 'slug', 'terms' => $term_slug, ), ), 'posts_per_page' => -1, ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) : ?> < ? while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

< ? the_title(); ?>

< ? // MORE TEMPLATING CODE ?>
< ? endwhile; endif; wp_reset_postdata(); ?>
< ? } // foreach } //if terms ?>