MENU

get_term_link()

get_term_link()は、カテゴリやタグ、カスタムタクソノミーの個別ページへのリンクを取得するテンプレートタグです。

目次

機能の説明

get_term_link()は、特定のタクソノミー(例:カテゴリーやタグなど)の個別アーカイブページのURLを取得します。この関数は、投稿に関連するカテゴリーやタグのリンクを生成するのに便利です。

シンプルなコード例

<?php
$term = get_term_by('slug', 'news', 'category');
echo '<a href="' . get_term_link($term) . '">ニュース一覧</a>';
?>

この例では、categoryタクソノミーのnewsというスラッグを持つカテゴリを取得し、そのアーカイブページへのリンクを表示します。

使い方の解説

get_term_link()は、主にカテゴリー、タグ、またはカスタムタクソノミーのリンクを取得するために使用されます。カテゴリリストやタグクラウドなど、複数のタクソノミーリンクを出力する際に便利です。

引数

$term (必須)

取得したいタクソノミー項目の情報を表すWP_Termオブジェクト、ID、スラッグ、または名前です。

$taxonomy (必須)

指定したタームが属するタクソノミー名を文字列で指定します。例:categorypost_tag

$deprecated (任意)

廃止予定の引数で、使用する必要はありません。

戻り値

URL文字列

指定したタームのアーカイブページへのURLを返します。

例外: 無効なタームの場合はWP_Errorオブジェクトを返します。

オプション

get_term_link()に特定のオプションはありませんが、使うタクソノミーによって取得できる情報は変わります。

使用例

<?php
$tag = get_term_by('name', 'WordPress', 'post_tag');
if ($tag && !is_wp_error($tag)) {
    echo '<a href="' . esc_url(get_term_link($tag)) . '">タグ: WordPress</a>';
}
?>

このコードは、post_tagタクソノミーでWordPressという名前のタグを取得し、そのリンクを安全に出力しています。esc_url()を使うことで、リンクの安全性を確保しています。

一緒に使うことが多い関連タグ

get_the_category()

get_the_category()は、投稿に関連付けられたカテゴリーの情報を取得します。

<?php
$categories = get_the_category();
if ($categories) {
    foreach ($categories as $category) {
        echo '<a href="' . esc_url(get_term_link($category)) . '">' . esc_html($category->name) . '</a><br>';
    }
}
?>

このコードは、投稿に関連するすべてのカテゴリのリンクを表示します。get_term_link()を使ってカテゴリページへのリンクを取得しています。

追加情報を取得したい場合

get_term_by() で取得できるタクソノミー情報

<?php
$term = get_term_by('slug', 'news', 'category');
if ($term) {
    echo 'Name: ' . $term->name . '<br>';
    echo 'Slug: ' . $term->slug . '<br>';
    echo 'Description: ' . $term->description . '<br>';
}
?>

get_term_by()を使用して、タクソノミー項目の詳細情報を取得しています。

出力できる情報

  • name: タームの名前
  • slug: タームのスラッグ(URLフレンドリーな名前)
  • description: タームの説明
  • term_id: タームのID

想定されるトラブル

存在しないタームへのリンクが取得できない

get_term_link()が無効なタームを指定している場合、WP_Errorを返します。

解決策

is_wp_error()を使ってエラーチェックを行いましょう。

カスタムタクソノミーのリンクが正しく取得できない

タームが正しく登録されていないか、タクソノミー名が間違っている可能性があります。

解決策

register_taxonomy()でタクソノミーを正しく登録しているか確認し、ターム名やスラッグが正しいかチェックしましょう。

Q&A

get_term_link()はどのような場面で使用しますか?

カテゴリやタグ、カスタムタクソノミーのリンクを取得したいときに使います。ナビゲーションリンクや一覧ページへのリンク生成に便利です。

WP_Errorが返された場合、どう対処すれば良いですか?

is_wp_error()関数でエラーチェックを行い、エラーが発生した場合は代替処理を実行してください。

カスタムタクソノミーにも使用できますか?

はい、get_term_link()はカスタムタクソノミーのタームにも対応しています。

まとめ

get_term_link()は、タクソノミーのタームページへのリンクを取得するための便利なテンプレートタグです。投稿のカテゴリやタグだけでなく、カスタムタクソノミーにも対応しており、動的にリンクを生成する場合に欠かせません。

よかったらシェアしてね!
  • URLをコピーしました!
目次