概要
single_term_title
フィルタは、タクソノミー名を表示する際にその出力を変更するために使用されます。具体的には、カテゴリやタグなどのタクソノミーの名前をカスタマイズすることができます。このフィルタは、デフォルトのタクソノミー名を変更したり、条件に応じて異なる出力を提供したりする場合に便利です。以下は、このフィルタがよく使われる場面の例です:
- タクソノミー名の前にカスタムテキストを追加
- タクソノミー名のフォーマットを変更
- 別のタクソノミーの名前を出力
- 特定の条件に基づいてタクソノミー名を変える
- タクソノミー名にHTMLタグを追加
- 原則として英語のタクソノミー名を他言語に翻訳
- SEO対策のためにタクソノミー名を変更
- タクソノミーが空の場合に代替テキストを表示
構文
add_filter( 'single_term_title', 'your_function_name', 10, 2 );
パラメータ
$term
: 現在のタクソノミーのタームオブジェクト。$term_id
: 現在のタームのID。
戻り値
変更されたタクソノミー名の文字列。
関連する関数
使用可能なバージョン
すべてのバージョンで使用可能。
コアファイルパス
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. タクソノミー名の前にカスタムテキストを追加
add_filter( 'single_term_title', 'add_custom_text_to_term_title', 10, 2 );
function add_custom_text_to_term_title( $term_title, $term_id ) {
return 'Custom Text: ' . $term_title;
}
このコードはタクソノミー名の前に「Custom Text: 」というテキストを追加します。
2. タクソノミー名を大文字に変更する
add_filter( 'single_term_title', 'uppercase_term_title' );
function uppercase_term_title( $term_title ) {
return strtoupper( $term_title );
}
このコードはタクソノミー名をすべて大文字に変換します。
3. 特定のタームIDの場合のみ名前を変更する
add_filter( 'single_term_title', 'custom_term_title_for_specific_id', 10, 2 );
function custom_term_title_for_specific_id( $term_title, $term_id ) {
if ( $term_id == 123 ) {
return 'Special Title';
}
return $term_title;
}
このコードは、タームIDが123の場合にのみ「Special Title」に変更します。
4. タクソノミー名にHTMLタグを追加
add_filter( 'single_term_title', 'add_html_to_term_title' );
function add_html_to_term_title( $term_title ) {
return '<strong>' . esc_html( $term_title ) . '</strong>';
}
このコードはタクソノミー名を強調表示するために、HTMLの<strong>
タグで囲みます。
5. タクソノミー名が空の場合に代替テキストを表示
add_filter( 'single_term_title', 'replace_empty_term_title', 10, 2 );
function replace_empty_term_title( $term_title, $term_id ) {
if ( empty( $term_title ) ) {
return 'No title available';
}
return $term_title;
}
このコードはタクソノミー名が空の場合に「No title available」と表示します。