ワードプレスのget_the_post_thumbnail_captionフィルタの使用方法・解説

概要

get_the_post_thumbnail_captionフィルタは、投稿ページのサムネイルキャプションを取得する際に使用されます。このフィルタを使うことで、デフォルトのキャプションをカスタマイズしたり、新しい情報を追加したりできます。このフィルタは、以下のような機能実装において特によく使用されます:

  1. サムネイルのキャプションをカスタマイズする
  2. キャプションにHTMLタグを追加する
  3. 特定の条件に基づいてキャプションを変更する
  4. キャプションにメタデータを追加する
  5. サムネイル画像のタイトルと一貫性を持たせる
  6. ソーシャルメディア共有用のキャプションを作成する
  7. アクセシビリティ向上のためのテキストを追加する
  8. 開発者向けのフィルタリング機能を提供する

構文

apply_filters('get_the_post_thumbnail_caption', $caption, $post_id);

パラメータ

  • $caption (string): 生成されるキャプションのテキスト。
  • $post_id (int): 投稿のID。

戻り値

フィルタ処理後のキャプションという文字列を返します。

関連する関数

関連する関数のリスト

使用可能なバージョン

このフィルタは、WordPressのバージョン 3.4 以降で利用可能です。

コアファイルのパス

wp-includes/post-thumbnail-template.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('get_the_post_thumbnail_caption', 'customize_thumbnail_caption');

function customize_thumbnail_caption($caption) {
    return strtoupper($caption);
}

このコードは、サムネイルキャプションを大文字に変換します。

サンプル2: HTMLタグを追加する

add_filter('get_the_post_thumbnail_caption', 'add_html_to_caption');

function add_html_to_caption($caption) {
    return '<strong>' . esc_html($caption) . '</strong>';
}

このコードは、キャプションを強調表示(太字)します。

サンプル3: 投稿のメタデータを追加する

add_filter('get_the_post_thumbnail_caption', 'add_metadata_to_caption', 10, 2);

function add_metadata_to_caption($caption, $post_id) {
    $meta = get_post_meta($post_id, 'custom_meta_key', true);
    return $caption . ' - ' . esc_html($meta);
}

このコードは、投稿のカスタムメタデータをキャプションに追加します。

サンプル4: 特定の投稿タイプのみキャプションを変更

add_filter('get_the_post_thumbnail_caption', 'conditional_caption_change', 10, 2);

function conditional_caption_change($caption, $post_id) {
    if (get_post_type($post_id) === 'special_type') {
        return 'Special Caption: ' . esc_html($caption);
    }
    return $caption;
}

このコードは、特定の投稿タイプのみキャプションを変更します。

サンプル5: キャプションの前に投稿タイトルを追加

add_filter('get_the_post_thumbnail_caption', 'prepend_title_to_caption', 10, 2);

function prepend_title_to_caption($caption, $post_id) {
    $title = get_the_title($post_id);
    return esc_html($title) . ': ' . esc_html($caption);
}

このコードは、キャプションの前に投稿タイトルを追加します。

この関数について質問する


上の計算式の答えを入力してください