Güzel bir! GhostOne'un çözümü aradığım şeydi. Benim durumumda, özel posta tipi 'minining_accidents' idi ve bununla ilişkili özel taksonomiler, altında birden fazla terim bulunan 'kaza türleri' idi. Benim fikrim, bu özel taksonomilerde terimlerin altındaki yayınların listesini göstermek için özel bir widget oluşturmaktı. Denememde istediğim şeyi aldı. Dinlenme çekişti. İşte kodum:
function fn_get_list_of_mining_accident_types()
{
$custom_taxonomy='accident-types';
$custom_terms = get_terms($custom_taxonomy);
$str_return='<ul>';
foreach($custom_terms as $custom_term)
{
wp_reset_query();
$args = array(
'post_type' => 'minining_accidents',
'tax_query' => array(
array(
'taxonomy' => $custom_taxonomy,
'field' => 'slug',
'terms' => $custom_term->slug,
),
),
);
$loop = new WP_Query($args);
$term_name=$custom_term->name;
$term_slug=$custom_term->slug;
$term_link=get_term_link($term_slug, $custom_taxonomy);
$str_return.='<li><a href="'.$term_link.'">'.$term_name.'</a>';
if($loop->have_posts())
{
$str_return.='<ol>';
while($loop->have_posts()) : $loop->the_post();
$str_return.='<li><a href="'.get_permalink().'">'.get_the_title().'</a></li> ';
endwhile;
$str_return.='</ol>';
}
$str_return.='</li>';
}
$str_return.='</ul>';
return $str_return;
}
Evet! Kodu daha da geliştirmek için her zaman bir seçenek vardır.