ダミー

【WordPress】記事に使われているタグや、最近使われたタグを扱う

2021年4月7日

みなさんはWordPressの投稿記事にタグを入れていますか?
今回はタグの扱いについてご紹介します。
当記事の環境:WordPress バージョン 5.7.2

投稿記事一覧でタグを併記したい

以下のように、記事タイトルの下にその記事で使われているタグを列記したいときに使います。

<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php if(has_tag()==true){the_tags();} ?>

もしタグを使っていれば the_tags(); を出力。
the_tags(); だけでタグとそのタグの付いた記事一覧へのリンクが書き出されます。とても便利ですね。タグの記事一覧ページがちゃんと作られるようにしておきましょう。

最近使われたタグをn個、リンク付きで書き出す

以下のように、最近使われたタグを数指定して列記したいときに使います。

<?php
    $term_list = get_terms('post_tag', Array('number' => 10));
    $result_list = [];
    foreach ($term_list as $term) {
    $u = (get_term_link( $term, 'post_tag' ));
    echo '<a href="'.$u.'">#'.$term->name.'</a>';
    }
?>

こちらもタグの記事一覧ページにリンクしますので、記事一覧ページがちゃんと作られるようにしておきましょう。

タグの記事一覧ページ

とてもシンプルなタグの記事一覧ページのテンプレートサンプルも書いておきます。必要に応じてCSSで装飾してお使いください。
<h1>タグ #<?php single_tag_title(); ?></h1>
<?php
    $current_tag = single_tag_title( '', false );
    $args = array(
        'posts_per_page' => 20,
        'orderby'        => 'date',
        'order'          => 'DESC',
        'tag'            => $current_tag,
        );
    $Posts = get_posts($args);
    if($Posts) :
        foreach($Posts as $post) :
            setup_postdata( $post );
?>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php
    if(has_tag()==true){the_tags();}
        endforeach;
    else:
        echo '<p>このタグの付いた記事はありません。</p>';
    endif;
?>
タグを扱うのは面倒なようで意外と簡単です。みなさんも作ってみてください。