• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/get term link

提供: WordPress Codex 日本語版
< 関数リファレンス
2014年8月3日 (日) 01:01時点におけるGblsm (トーク | 投稿記録)による版 (関連項目)

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

指定された(タクソノミー)タームのアーカイブページへのパーマリンクを返します。 タームが存在しないときは WP_Error オブジェクトを返します。

使い方

<?php get_term_link( $term, $taxonomy ); ?>

パラメータ

$term
オブジェクト|整数|文字列) (必須) リンクを取得するタームのオブジェクト、ID またはスラッグ。
初期値: なし
$taxonomy
文字列) (オプション) タクソノミーのスラッグ。$term がオブジェクトのときはオプション。
初期値: 空の文字列

戻り値

URL (文字列) 
(タクソノミー)タームのアーカイブページの URL
WP_Error (オブジェクト) 
タームが存在しなければエラー。

$terms = get_terms( 'species' );

echo '<ul>';

foreach ( $terms as $term ) {

    // この $term はオブジェクトなので、$taxonomy を指定しなくてよい。
    $term_link = get_term_link( $term );
   
    // エラーなら次のタームへ進む。
    if ( is_wp_error( $term_link ) ) {
        continue;
    }

    // リンクを取得できたのでプリントアウトする。
    echo '<li><a href="' . esc_url( $term_link ) . '">' . $term->name . '</a></li>';
}

echo '</ul>';

参考

  • apply_filters() を使って、リンクを返す前に 'term_link' フィルターを適用します。
  • グローバル変数 (WP_Rewrite) $wp_rewrite を使用します。
  • $term パラメータはオブジェクト、整数、文字列の何れかですので、数値を与えるときは明示的に整数に型変換してください(例: (int) $term_id )。そうしないと $term はターム ID ではなくスラッグとして扱われます。
  • 上記の影響により、3.8.0 より古いバージョンでは $term パラメータに $term->term_id を与えると正常に動作しません。詳しくはこの trac チケットを参照してください。
  • エラーのときに結果をプリントアウトすると( "Catchable fatal error: Object of class WP_Error could not be converted to string" )、PHP がハングアップする場合があります。タームが存在しない状況に備えて、必ず is_wp_error() を使って戻り値をチェックすべきです。

変更履歴

  • 3.1.0: タームのオブジェクトを与えるときは $taxonomy をオプションにしました。 $term が文字列の場合は従来どおり必要です。チケット #13081 を参照してください。
  • 2.5.0 にて導入されました。

ソースファイル

get_term_link()wp-includes/taxonomy.php にあります。


カテゴリータグ: the_category(), the_category_rss(), single_cat_title(), category_description(), wp_dropdown_categories(), wp_list_categories(), get_the_category(), get_the_category_by_ID(), get_category_by_slug(), get_the_category_list(), get_category_parents(), get_category_link(), is_category(), in_category()


タームタグ: is_term(), term_exists(), get_objects_in_term(), get_term(), get_term_by(), get_term_children(), get_term_link(), get_terms(), get_the_terms(), get_the_term_list(), has_term(), sanitize_term(), the_terms(), get_object_taxonomies() is_object_in_taxonomy() the_taxonomies() wp_get_object_terms(), wp_set_object_terms(), wp_get_post_terms(), wp_set_post_terms(), wp_delete_object_term_relationships()



関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/get term link最新版との差分