get_the_categoryで取得したカテゴリ(複数)の表示順序の変更
<dl>
<?php
$args =array('orderby'=> 'ID');
$terms = wp_get_post_terms( $post->ID , 'category', $args);
$html = '<dd>:<a href="%1$s" title="%2$s">%3$s</a></dd>';
$colon = array();
$result = array();
/*表示したいIDを列挙*/
$ids = array(19,1);
foreach($terms as $key=>$term){
foreach($ids as $id){
if($key== 0){
//loopの最初
$result[$id]= '<dt>'.get_category_parents($id, true,'').'</dt>';
$colon[$id]= false;
}
if(cat_is_ancestor_of($id, $term)){
$result[$id] .= sprintf( $html,
esc_url(get_term_link($term, 'category')),
sprintf( __( "%s" ), esc_attr($term->name)),
esc_html($term->name)
);
$coron[$id]= true;
}
if($key== count($terms) - 1){
//loopの最後
if($coron[$id]== false){
$result[$id] .= '<dd>:</dd>';
}
}
}
}
array_walk($result, 'print_named_array');
function print_named_array($item, $key){
echo $item."\n";
}
?>
</dl>