トップへ戻る
BLOGS

WordPress 記事についているタームの出力(シングルページ、リンク付き)

WordPress 記事についているタームの出力(シングルページ、リンク付き)

はい。

というわけで今回はタイトル通り、

投稿された記事ごとについているタームの出力(リンク付き)を

カスタム投稿タイプの個別記事ごとに「関連キーワード」として並べて、ユーザーの離脱率回避につなげたいと思います

とはいえ

以前に使用した関数の応用に過ぎないため

簡単に答えのコードから見ていきましょう

<section class="related_key_word">
  <h1>関連キーワード</h1>
  <?php
  $taxonomy = 'oja_tags';
  $terms = wp_get_object_terms($post->ID,$taxonomy);
  if (!empty($terms) && !is_wp_error($terms)) :
    echo '<ul class="related_list">';
    foreach ($terms as $term ) {
    echo '<li><a href="'.get_term_link($term).'">'.$term->name.'</a></li>';
  }
  echo '</ul>';
  endif;
  ?>
</section>

$taxonomy = ‘oja_tags’;まず最初に使用するタクソノミーを変数にします、

今回はタグを出力しますがもちろん好きなタクソノミーを指定できます。

wp_get_object_terms以前にも使用した関数ですね、投稿に紐づくタームが複数ある場合はget_the_termsではなくこちらを使います

次にif文ですが、!empty($terms)「タームが存在している事」、かつ

is_wp_error($terms)「その変数にエラーが無いこと」を確認したら処理に入ります

is_wp_error(変数)

こちらは初登場のWP関数ですね、

渡された変数が WordPress Error であるかチェックします。

その変数が PHP オブジェクトであり、かつ WP_Error クラスによって生成されたものであるか判定します。  

ということで簡単に言えばエラーチェックですね

後は取得したオブジェクトをforeachで回すわけですが、

HTMLのタグをドットでつないで生成します

get_term_link(タームオブジェクトかIDかスラッグ)

get_term_link($term)はタームのアーカイブページリンクを取得する関数です

ここはforeach中なのでタームオブジェクトをそのまま入れていますが$term->slugのようにしても大丈夫です

そして出力するタグの中身に$term->nameとしてあげることでタームの名前が一つづつ取り出せます

今回は簡単でしたね

しかしこちらもWordPressのカスタムでは基本的なことでしょう

一つずつ忘れないように記しておきます

では。

コメントをお待ちしております

お気軽にコメントをどうぞ。

CAPTCHA