KEPRATE
  • TOP トップページ
  • ABOUT KEPRATEについてKEPRATEについて
  • BLOG ブログ
    BLOG ブログ
    画像:今ならまだ間に合う! CSSのposition要素の新刺客 position: sticky; を使おう!

    今ならまだ間に合う! CSSのposition要素の新刺客 position: sticky; を使おう!

    2023.07.24
    画像:WordPressのテーマを自作しよう! ページネーション(ページ送り)をプラグインなしで実装する方法

    WordPressのテーマを自作しよう! ページネーション(ページ送り)をプラグインなしで実装する方法

    2023.07.14
    画像:WordPressのテーマを自作しよう! get_previous_post()を使って同カテゴリ内の前後リンクを取得する方法

    WordPressのテーマを自作しよう! get_previous_post()を使って同カテゴリ内の前後リンクを取得する方法

    2023.07.11
    画像:WordPressのテーマを自作しよう! タグ一覧ページ・タグクラウド作成方法 タグ関連はこれを読めば大丈夫!

    WordPressのテーマを自作しよう! タグ一覧ページ・タグクラウド作成方法 タグ関連はこれを読めば大丈夫!

    2023.07.10
  • LAB ラボ
    LAB ラボ
    画像:KEP TYPING KEYBOARD
    KEP TYPING KEYBOARD
    公開日
    2017.07.01
    画像:KEP SLOT
    KEP SLOT
    公開日
    2017.07.01
    画像:KEP DOT DRAW
    KEP DOT DRAW
    公開日
    2017.07.01
  • FAQ よくあるご質問よくあるご質問
  • NEWS お知らせ
  • CONTACT お問い合わせ
    CONTACT お問い合わせ
    画像:ショップ 担当者様
    SHOP ショップ 担当者様
    画像:制作会社 担当者様
    COMPANY 制作会社 担当者様

WordPressのテーマを自作しよう! タグ一覧ページ・タグクラウド作成方法 タグ関連はこれを読めば大丈夫!

Satoken Satoken
WEBメモ
2023.07.10
  • WordPress
画像:WordPressのテーマを自作しよう! タグ一覧ページ・タグクラウド作成方法 タグ関連はこれを読めば大丈夫!
Satoken サトケン

ハメカメ師匠。
今更ながらWordPressのTag(タグ)に関してまとめました。

ハメカメ

今更じゃのう・・・
相変わらず・・ もっさいのぅ・・・

Satoken サトケン

・・・・

目次
  • 01.タグ一覧ページの作成方法
    • ・タグの名前(タイトル)取得
    • ・タグのID取得
    • ・一覧ページの作成
  • 02.タグクラウドの作成方法
  • 03.詳細ページでのタグ情報取得方法
  • 04.まとめ

タグ一覧ページの作成方法

タグの名前(タイトル)取得

タグの名前(下記画像の赤枠の箇所)を取得します。
https://keprate.com/tag/responsive/でしたらWPの名前の レスポンシブの箇所になります。

画像:タグのタイトル取得方法
        PHP
        コピー
    <?php single_tag_title();?>//出力文字:レスポンシブ
    <?php single_term_title();?>//出力文字:レスポンシブ
    <?
        $tag_o = get_queried_object();
        echo $tag_o->name;//出力文字:レスポンシブ
    ?>

https://keprate.com/tag/responsive/
というURLのページでしたら3種類の方法で全てレスポンシブという値が返ってきます。

この値を元にパンくずリストやタイトルを作成します。

タグのID取得方法

タグのID(下記画像の赤枠の箇所)を取得します。
管理画面上からは確認ができずおそらくURLからのみの確認となります。

画像:タグのID取得方法
    PHP
    コピー
<?php
    $tag_o = get_queried_object();
    $tag_o->term_id;//echoすると11(tag番号)が出力される
?>

この値を元にタグ一覧ページを作成します。
結局、タグのIDを取得する際にget_queried_object();が必要になりますので タグの名前を取得する時も$tag_o->name;が個人的にいいのでは思います。

一覧ページの作成

タグIDをWP_Queryのパラメータ'tag_id'に渡し一覧ページを作成します。
下記、一番シンプルな形。

    PHP
    コピー
<?php

    $tag_o = get_queried_object();

    $args = array(
        'tag_id' => $tag_o->term_id
    );

    $my_query = new WP_Query($args);

?>

下記、ページャー付きタグ一覧ページの作成時。

    PHP
    コピー
<?php

    global $paged;

    $page_range = get_query_var('posts_per_page');

    $tag_o = get_queried_object();

    $args = array(
        'tag_id' => $tag_o->term_id,
        'posts_per_page' => $page_range,
        'paged' => $paged
    );

    $my_query = new WP_Query($args);

?>

あとは取得した値をループ処理。

下記は参考程度のHTML出力用のループ処理を加えたソース。
これはあくまでベースの形になりますので、画像やカテゴリ名など必要であれば追加していきます。

    PHP
    コピー
<nav class="nav-tag">
    <ul>
<?php

    global $paged;

    $page_range = get_query_var('posts_per_page');

    $tag_o = get_queried_object();

    $args = array(
        'tag_id' => $tag_o->term_id,
        'posts_per_page' => $page_range,
        'paged' => $paged
    );

    $my_query = new WP_Query($args);

?>
<?php if( $my_query -> have_posts() ) :?>
<?php while($my_query -> have_posts()) : $my_query -> the_post();?>
        <li>
            <a href="<?php the_permalink();?>">
                <div class="nav-tag__tit"><?php the_title(); ?></div>
                <div class="nav-tag__date"><?php the_time('Y/m/d'); ?></div>
            </a>
        </li>
<?php endwhile;?>
<?php endif;wp_reset_postdata();?>
    </ul>
</nav>

以下出力されたHTML。

    HTML
    コピー
<nav class="nav-tag">
    <ul>
        <li>
            <a href="https://keprate.com/web/wordpress/wp-pagination/">
                <div class="nav-tag__tit">WordPressでレスポンシブ対応のページネーション(ページ送り)をプラグインなしで実装</div>
                <div class="nav-tag__date">2018/05/18</div>
            </a>
        </li>
        <li>
            <a href="https://keprate.com/web/javascript/ua-check/">
                <div class="nav-tag__tit">JavaScriptでuseragentを取得しviewportの設定やブラウザ判別する方法</div>
                <div class="nav-tag__date">2018/05/01</div>
            </a>
        </li>
        <li>
            <a href="https://keprate.com/web/javascript/responsive-img/">
                <div class="nav-tag__tit">スマホ・PC用の画像をレスポンシブ対応させる方法 超簡単!</div>
                <div class="nav-tag__date">2018/04/25</div>
            </a>
        </li>
    </ul>
</nav>

これで基本的なタグ一覧ページは問題なく作成できます。

タグクラウド作成方法

サイドバーなどによく設置されるタグクラウドの作成方法。

wp_tag_cloud();で簡単に表示はされます。

ですが、

  • ・大きさがデフォルトでまちまちになる。(cssなどで調整は可能そうですが)
  • ・カウント数が取得できない。(おそらくですがパラメータを見る限りなさそう)

上記の理由から、wp_tag_cloud();を使わずにget_tags();を使用してタグクラウドを作成。
get_tags();を使用の場合は$tag->count;でカウント数を取得可能。

get_tags();にパラメータを渡しデータを取得。
下記、パラメータの場合は記事数(カウント)を元に降順で並べ替え。
あとは取得した値をループ処理。

    PHP
    コピー
<?php $posttags = get_tags('orderby = count & order = DESC'); ?>

下記は参考程度のHTML出力用のループ処理を加えたソース。

    PHP
    コピー
<?php $posttags = get_tags('orderby = count & order = DESC'); ?>
<nav class="nav-cloud">
    <ul>
<?php foreach ($posttags as $tag):?>
        <li>
            <a href="<?php echo get_tag_link($tag->term_id);?>">
                <span><?php echo $tag->name;?> (<?php echo $tag->count;?>)</span>
            </a>
        </li>
<?php endforeach; wp_reset_postdata(); ?>
    </ul>
</nav>

以下出力されたHTML。

    HTML
    コピー
<nav class="nav-cloud">
    <ul>
        <li>
            <a href="https://keprate.com/tag/original/">
                <span>自作 (6)</span>
            </a>
        </li>
        <li>
            <a href="https://keprate.com/tag/responsive/">
                <span>レスポンシブ (4)</span>
            </a>
        </li>
        <li>
            <a href="https://keprate.com/tag/form/">
                <span>フォーム (1)</span>
            </a>
        </li>
    </ul>
</nav>

あとはcssでデザイン調整。
ロールオーバーアニメーションもサイトのテイストに合わせてごにょごにょ。
これで基本的なタグクラウドは問題なく作成できます。

詳細ページでのタグ情報取得方法

ブログ詳細ページに該当するタグをタイトル下などに表示する方法。
下記赤枠の箇所になります。

画像:タグのID取得方法

get_the_tags();で取得。
(get_tags;と名前が似過ぎで嫌がらせですね・・・)

    PHP
    コピー
<?php $posttags = get_the_tags(); ?>

あとはいつものように動かざること山の如し取得した値をループ処理。

下記は参考程度のHTML出力用のループ処理を加えたソース。

    PHP
    コピー
<?php $posttags = get_the_tags(); ?>
<ol class="article-tags">
<?php foreach ($posttags as $tag):?>
    <li><a href="<?php echo get_tag_link($tag->term_id);?>"><?php echo $tag->name;?></a></li>
<?php endforeach; wp_reset_postdata(); ?>
</ol>

リンクが必要ない場合はaタグの箇所を削除。

注意点が一つ。。
リンク先を取得時にカテゴリの場合はcat_IDですがタグの場合はterm_idになります。
term_IDじゃぁないのかい!・・ガッテム・・・

以下出力されたHTML。

    HTML
    コピー
<ol class="article-tags">
    <li><a href="https://keprate.com/tag/responsive/">レスポンシブ</a></li>
    <li><a href="https://keprate.com/tag/original/">自作</a></li>
    <li><a href="https://keprate.com/tag/form/">フォーム</a></li>
</ol>

これで基本的な詳細ページでのタグ情報は問題なく表示できます。

まとめ

get_the_tags();とget_tags();が存在したり
get_tag_link($tag->term_ID);ではなくget_tag_link($tag->term_id);であったり
tag独特のツンデレな所もありますが上記を使い回しすればすれば問題なくtag(タグ)関連で悩む事はへるのではと思います。
以上。WordPressのtag(タグ)関連のまとめでした。

ハメカメ

ブラボー ブラボー
今度わしも使わしてもらうわい。

ヒューヒューだよ。サトケン。

Satoken サトケン

・・・

今更・・・ 牧瀬・・・です・か?

・・・

ハメカメ

・・・す すまん・・・
はしゃぎすぎたわい・・

SHARE

  • Facebook
  • Twitter
  • はてブ
  • pocket
  • Line
Satoken
Satoken
フロントエンド関連をゴニョゴニョとマークアップする人
96万WEBパワーの持ち主。火事場のWEB力発動時7000万WEBパワーまで計測。
前の記事へ 納期前日でも安心! スマホのセレクトボックスはJavaScriptで書き出そう!
次の記事へ WordPressのテーマを自作しよう! get_previous_post()を使って同カテゴリ内の前後リンクを取得する方法
一覧へ戻るBack to List
  • にほんブログ村 IT技術ブログ Webサイト構築へ
  • ウェブデザイナーランキング
CONTACT
CONTACT キャラクター
CONTACT

KEPRATE ♥¥ ケプレイト ♥¥ CONTACT ♥¥ お問い合わせ ♥¥ KEPRATE ♥¥ ケプレイト ♥¥ CONTACT ♥¥ お問い合わせ ♥¥

  • TOP
  • BLOG
  • WEBメモ
  • WordPressのテーマを自作しよう! タグ一覧ページ・タグクラウド作成方法 タグ関連はこれを読めば大丈夫!
  • Home
  • About
  • Blog
  • Lab
    • KEP TYPING KEYBOARD
    • KEP SLOT
    • KEP DOT DRAW
  • Faq
  • Contact
    • Shop
    • Company
  • お知らせ
  • プライバシーポリシー
Tel :

050-5899-7800

Address :

〒573-0033
大阪府枚方市岡南町12-12

GoogleMap

KEPRATE
© 2014-2023 KEPRATE.