[WordPress] カスタム投稿用のタグリストを設置したい
やりたいこと
- カスタム投稿のタグと言ってしまうとかなり語弊がありますが、カスタム投稿のタクソノミーをタグっぽく使ったときに、この似非タグの一覧を本家タグっぽく見せたいことがあります
- そんなときにサッと使えるサンプルコードを実装してみました
サンプルコード
php
<?php
$terms = get_the_terms( $post->ID, 'tag_xxx' );
if( $terms && !is_wp_error($terms) ) {
echo '<ul class="list_tag">';
foreach( $terms as $term ) {
$term_link = get_term_link($term);
echo '<li><a href="'. esc_url($term_link) .'">'. $term->name .'</a></li>';
}
echo '</ul>';
}
?>
CSS
.list_tag {
display: flex;
flex-wrap: wrap;
list-style: none;
}
.list_tag > li {
padding: 0.5em 1em;
border-radius: 2em;
background-color: #3388dd;
font-size: 14px;
}
.list_tag > li:nth-of-type(n + 2) {
margin: 0px 0px 0px 1em;
}
.list_tag > li > a {
color: #fff;
text-decoration: none;
}
仕組み、解説、補足など
- 「get_the_terms」で受け取った配列の妥当性はヌルチェックだけでは確認できません。「is_wp_error」を併用して判定しましょう
- 引っ張ってきたURLを表示するときは、esc_urlでエスケープ処理をしておきましょう
ご質問など受け付けています
記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。
ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。