概要
the_post_thumbnail_caption
フィルタは、投稿ページのサムネイルキャプションを表示する際にその内容を変更するために使用されます。このフィルタを使用することで、サムネイルキャプションのフォーマットや内容を自分のニーズに合わせてカスタマイズできます。よく使われる機能は以下の通りです。
- キャプションのテキストの変更
- HTMLタグの追加や削除
- スタイルの適用
- キャプションに動的なデータの挿入
- 言語ごとのキャプションの翻訳
- カスタムフィールドを用いたキャプションの生成
- サムネイルが表示されない場合の代替テキストを設定
- SEO対策としてのキャプションの最適化
このフィルタの構文は以下の通りです:
apply_filters( 'the_post_thumbnail_caption', $caption, $post_id );
パラメータ
$caption
: 変更するキャプションのテキスト。$post_id
: サムネイルが関連付けられている投稿のID。
戻り値
- 変更されたキャプションのテキスト。
関連する関数
使用可能なバージョン
- WordPress 4.0以降で使用可能です。
コアファイルのパス
wp-includes/media.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( 'the_post_thumbnail_caption', 'custom_caption_function', 10, 2 );
function custom_caption_function( $caption, $post_id ) {
return 'カスタムキャプション: ' . $caption;
}
このコードは、サムネイルキャプションの前に「カスタムキャプション: 」というテキストを追加します。引用元: https://developer.wordpress.org/reference/functions/add_filter/
サンプルコード2: HTMLタグを追加する
add_filter( 'the_post_thumbnail_caption', 'add_html_to_caption', 10, 2 );
function add_html_to_caption( $caption, $post_id ) {
return '<strong>' . $caption . '</strong>';
}
このコードは、サムネイルキャプションを太字にします。引用元: https://developer.wordpress.org/reference/functions/add_filter/
サンプルコード3: 他のメタデータをキャプションに追加する
add_filter( 'the_post_thumbnail_caption', 'add_metadata_to_caption', 10, 2 );
function add_metadata_to_caption( $caption, $post_id ) {
$year = get_the_date('Y', $post_id);
return $caption . ' (投稿年: ' . $year . ')';
}
このコードは、サムネイルキャプションの後にその投稿の年を追加します。引用元: https://developer.wordpress.org/reference/functions/add_filter/
サンプルコード4: 言語に応じたキャプションを生成する
add_filter( 'the_post_thumbnail_caption', 'localized_caption', 10, 2 );
function localized_caption( $caption, $post_id ) {
if (ICL_LANGUAGE_CODE == 'es') {
return 'Descripción en español: ' . $caption;
}
return $caption;
}
このコードは、PolylangやWPMLを使用している場合に、スペイン語のキャプションを追加します。引用元: https://developer.wordpress.org/reference/functions/add_filter/
サンプルコード5: NULL値に対する代替テキストを設定する
add_filter( 'the_post_thumbnail_caption', 'fallback_caption', 10, 2 );
function fallback_caption( $caption, $post_id ) {
return $caption ? $caption : 'デフォルトキャプション';
}
このコードは、もしキャプションがNULLの場合に「デフォルトキャプション」と表示します。引用元: https://developer.wordpress.org/reference/functions/add_filter/