Sortare articole după numele taxonomiei personalizate
O soluție ar fi-
$terms = get_terms('nume-taxonomie');
foreach($terms as $term) {
$posts = get_posts(array(
'post_type' => 'nume_tip_postare_personalizata',
'tax_query' => array(
array(
'taxonomy' => 'nume-taxonomie',
'field' => 'slug',
'terms' => $term->slug
)
),
'numberposts' => -1
));
foreach($posts as $post) {
// aici poți face ce dorești cu postările
}
}

Ai dreptate, voi fi mai atent pe viitor. Am editat răspunsul de mai sus

da, există. Schimbă prima linie în- $terms = get_terms('taxonomy-name', array('order' => 'DESC')); Verifică această pagină din codex pentru referință completă- http://codex.wordpress.org/Function_Reference/get_terms

Știu că aceasta este o întrebare veche care are deja un răspuns excelent, dar am avut probleme cu ceva foarte asemănător timp de ore întregi astăzi și am venit cu o alternativă la loop.
De asemenea, puteți personaliza puțin soluția lui Mridul (care este excelentă) dacă doriți să faceți acest lucru funcțional pe pagina de arhivă pentru o taxonomie. Cu alte cuvinte, puteți sorta o arhivă de taxonomie personalizată după o altă taxonomie folosind această soluție.
Împărtășesc acest lucru pentru că am petrecut patru ore luptându-mă cu această problemă astăzi, iar dacă cineva încearcă să creeze arhive de taxonomii personalizate sortate după o taxonomie diferită, acesta este modul în care o faceți. (De asemenea, acesta este primul meu răspuns pe StackExchange — vă rog să fiți blânzi! :) )
Acest lucru începe exact ca soluția lui Mridul. Interogați taxonomia după care doriți să sortați postările.
$terms = get_terms( array(
'taxonomy' => 'custom_taxonomy_one',
'parent' => 0, // Acest lucru m-a ajutat să elimin taxonomii repetitive; s-ar putea să doriți să omiteți acest lucru
) );
foreach($terms as $term) {
echo '<h2>' . $term->name . '</h2>'; // Afișează numele termenului
Aici lucrurile devin puțin diferite față de răspunsul lui Mridul. Doriți să interogați două taxonomii și să vă asigurați că relația dintre ele este setată să fie "AND", ceea ce înseamnă că postările listate îndeplinesc criteriile de a fi în ambele taxonomii.
În acest caz, postările din "custom_post_type" trebuie să corespundă slug-ului primului termen și numelui altuia. Sper că codul are sens pentru toată lumea!
$posts = get_posts(array(
'post_type' => 'custom_post_type', // Obține postări din tipul de postare personalizat
'tax_query' => array(
'relation' => 'AND', // postările trebuie să se potrivească cu ambele taxonomii
array(
'taxonomy' => 'custom_taxonomy_one',
'field' => 'slug',
'terms' => $term->slug // se potrivește cu slug-ul termenului din array-ul anterior
),
array(
'taxonomy' => 'custom_taxonomy_two',
'field' => 'slug',
'terms' => 'custom_taxonomy_two_term_name'
)
),
'numberposts' => -1
));
foreach($posts as $post) {
// Fă-ți treaba
}
}

Buclă alternativă, unde tax = category
și tipul de postare personalizat post type = "results"
// Definim argumentele pentru taxonomie
$args = array( 'taxonomy' => 'category' );
$terms = get_terms( 'category', $args);
// ÎNCEPE BUCLA FOREACH
foreach ($terms as $term) {
$post_type = 'results'; // Tipul de postare
$tax = 'category'; // Taxonomia
$tax_terms = get_terms( $tax );
if ($tax_terms) {
foreach ($tax_terms as $tax_term) {
$args = array(
'post_type' => $post_type,
"$tax" => $tax_term->slug,
'post_status' => 'publish', // Doar articole publicate
'posts_per_page' => -1, // Toate articolele
'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) : ?>
// ÎNCEPE BUCLA WHILE
<?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?>
// Adaugă conținut aici
<?php endwhile; ?>
// SFÂRȘIT BUCLA WHILE
<?php else : ?>
<?php endif; wp_reset_query(); ?>
}
// SFÂRȘIT BUCLA FOREACH

"caller_get_posts" este învechit, apropo. Folosește "ignore_sticky_posts" Sursă - http://codex.wordpress.org/Class_Reference/WP_Query#Sticky_Post_Parameters
