add_filter()


WordPressの関数add_filter()は、フィルターフックを通じてWordPressの動作やデータを変更するために使用されます。

シンタックス

add_filter( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 );

引数の説明

  • $tag (string) — フィルターフックの名前。
  • $function_to_add (callable) — フィルターに追加するコールバック関数。
  • $priority (int) — フィルター実行の優先順位。デフォルトは10。
  • $accepted_args (int) — コールバック関数で受け取る引数の数。デフォルトは1。

例1: 投稿タイトルを変更する

投稿タイトルを変更するフィルターを追加します。

add_filter('the_title', function($title) { return 'カスタム: ' . $title; });

例2: 抜粋の長さを変更する

投稿の抜粋文字数を変更する例です。

add_filter('excerpt_length', function($length) { return 20; });

例3: メディアアップロードサイズを変更する

アップロード可能な最大ファイルサイズを変更します。

add_filter('upload_size_limit', function($size) { return 10485760; }); // 10MB

例4: WordPress REST APIの応答データを変更する

REST APIで返される投稿データにカスタムフィールドを追加します。

add_filter('rest_prepare_post', function($response, $post, $request) {
    $response->data['custom_field'] = get_post_meta($post->ID, 'custom_field_key', true);
    return $response;
}, 10, 3);

例5: ウィジェットの出力をカスタマイズする

ウィジェットの出力内容を変更します。

add_filter('widget_text', function($text) { return $text . '<p>追加テキスト</p>'; });

注意事項

関数add_filter()を使用する際は、フック名や優先順位を慎重に設定し、必要以上に実行速度に影響を与えないようにしてください。また、コールバック関数の引数の数を正しく指定することが重要です。


関連機能: