😈
[WordPress] サイト内のタームを全て一覧表示、投稿タイプごとにまとめるコード。サイドバーにどうぞ。
(リンクのとこ間違ってたので直しました 6/25 16:37)
ちょっと手間取ってしまったけど希望の表示ができたので備忘録として😇
投稿(post)とカスタム投稿タイプにぶら下がっている、カスタムタクソノミーのタームとカテゴリーの一覧を一覧します。
投稿タイプを指定しなくてもいいので、新たにカスタム投稿タイプが追加されても大丈夫です(多分)
見た目はこんな感じ。(別の方法で投稿の名前をコラムに変更してあります😇無視してください)
$args = array(
'orderby' => 'term_group',
'order' => 'DESC',
'hide_empty' => 0
);
$args_tax = array(
'public' => true
);
$terms = get_terms( $args );
$taxonomies = get_taxonomies( $args_tax, 'names' );
arsort($taxonomies); //投稿タイプの並び順を逆にする場合はコレ
foreach ($taxonomies as $tax){
if($tax !== 'post_tag' && $tax !== 'post_format'){
$post_type = get_taxonomy($tax)->object_type;
$post_type_name = get_post_type_object($post_type[0])->label;
echo '<h2>'.$post_type_name.'</h2>';
echo '<ul>';
foreach ( $terms as $term ) {
if($term->taxonomy == $tax){
echo '<li><a href="/'.$tax.'/'.$term->slug.'">'.$term->name.'</a></li>';
}
}
echo '</ul>';
}
}
参考にさせていただいた記事:
WordPress関数リファレンス:
- get_terms https://wpdocs.osdn.jp/関数リファレンス/get_terms
- get_taxonomies https://wpdocs.osdn.jp/関数リファレンス/get_taxonomies
- get_post_type_object https://wpdocs.osdn.jp/関数リファレンス/get_post_type_object
Discussion