概要
get_term_link
関数は、指定したタームのリンク文字列を取得するための関数です。タームとは、カテゴリやタグなどの用語を指し、WordPressではそれらを使ってコンテンツを分類します。この関数は、タームのアーカイブページへのリンクを生成する際に特に有用です。
よく使われる機能
- タクソノミーのアーカイブページリンクの生成
- セカンダリータクソノミーのリンク取得
- カスタムタクソノミーの対応
- パンくずリストの生成
- タームフィルターのリンク取得
- タームを基にしたカスタムインクルードファイルのリンク作成
- SEO向けのタームリンク構築
- テーマのナビゲーションメニューにおけるタームリンク追加
構文
get_term_link( mixed $term, string|WP_Taxonomy $taxonomy = '' )
パラメータ
$term
(mixed): タームのIDまたはタームオブジェクト。$taxonomy
(string|WP_Taxonomy): リンクを生成するタクソノミーのスラグ。
戻り値
- タームのリンク文字列。タームが見つからない場合はWP_Errorオブジェクト。
関連する関数
ワードプレスバージョン
get_term_link
関数は、WordPress 2.5.0以降で使用可能です。
コアファイルのパス
wp-includes/taxonomy.php
この関数のアクションでの使用可能性
アクション | 使用可否 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | 〇 |
template_redirect | 〇 |
get_header | |
wp_head |
サンプルコード
サンプル1: タームのリンクを取得
$term_id = 5; // タームのIDを指定
$taxonomy = 'category'; // タクソノミーのスラグを指定
$term_link = get_term_link($term_id, $taxonomy);
echo $term_link; // タームのリンクを表示
このコードは、指定したIDのタームのリンクを取得し、表示します。
サンプル2: タームオブジェクトからリンクを取得
$term = get_term(5, 'category'); // タームオブジェクトを取得
if (!is_wp_error($term)) {
$term_link = get_term_link($term);
echo $term_link; // タームのリンクを表示
}
このコードは、タームオブジェクトを使ってそのリンクを取得し、表示します。
サンプル3: タームリンクをセーフに取得
$term_id = 10;
$taxonomy = 'post_tag';
$term_link = get_term_link($term_id, $taxonomy);
if (!is_wp_error($term_link)) {
echo $term_link; // タームのリンクを表示
} else {
echo 'タームが見つかりませんでした。';
}
このコードは、エラーハンドリングを行いながらタームのリンクを取得し、表示します。
サンプル4: カスタムタクソノミーのリンクを取得
$term_id = 3;
$taxonomy = 'my_custom_taxonomy'; // カスタムタクソノミー
$term_link = get_term_link($term_id, $taxonomy);
echo $term_link; // カスタムタクソノミーのタームのリンクを表示
このコードは、カスタムタクソノミーに対するタームのリンクを取得し、表示します。
サンプル5: タームリンクをメニューに追加
function add_term_link_to_menu($items) {
$term_link = get_term_link(3, 'category');
$items .= '<li><a href="' . esc_url($term_link) . '">カスタムターム</a></li>';
return $items;
}
add_filter('wp_nav_menu_items', 'add_term_link_to_menu');
このコードは、WordPressのメニューにタームリンクを追加するフィルターフックを使用しています。