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

概要

wp_get_additional_image_sizesフィルタは、WordPressにおける拡張されたイメージサイズを取得するためのフィルタです。このフィルタは、WordPressが追加したカスタム画像サイズを取得したり、それに基づいてさらに処理を施したりする際に使用されます。具体的には、次のような機能を実装する際によく使われます。

  1. プラグインによる画像サイズの拡張
  2. テーマによるカスタム画像サイズの管理
  3. 画像サイズの統一的な出力
  4. メディアライブラリでの画像のカスタマイズ表示
  5. カスタム投稿タイプのための画像サイズの定義
  6. 多言語サイトにおける画像サイズの調整
  7. 画像サイズに基づくレスポンシブデザイン
  8. 特定の条件に基づく画像サイズの動的生成

構文

add_filter('wp_get_additional_image_sizes', 'your_function_name');

パラメータ

  • array $sizes : 追加の画像サイズの情報を含む連想配列。

戻り値

  • array : 修正された画像サイズの配列。

関連する関数

wp_get_additional_image_sizes

使用可能なバージョン

このフィルタはWordPress 4.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: 画像サイズの追加

function add_custom_image_sizes( $sizes ) {
    $sizes['custom-size'] = array(
        'width'  => 800,
        'height' => 600,
        'crop'   => true,
    );
    return $sizes;
}
add_filter( 'wp_get_additional_image_sizes', 'add_custom_image_sizes' );

このサンプルは、カスタム画像サイズを追加します。追加されるサイズは幅800px、高さ600pxで、トリミングが有効です。

サンプルコード2: 画像サイズの変更

function modify_custom_image_sizes( $sizes ) {
    if ( isset( $sizes['medium'] ) ) {
        $sizes['medium']['width'] = 640; // 幅を変更
        $sizes['medium']['height'] = 480; // 高さを変更
    }
    return $sizes;
}
add_filter( 'wp_get_additional_image_sizes', 'modify_custom_image_sizes' );

このサンプルは、既存の「medium」画像サイズの幅と高さを変更します。これにより、メディアライブラリでの表示が変わります。

サンプルコード3: 条件に基づく画像サイズの追加

function conditional_image_sizes( $sizes ) {
    if ( is_single() ) {
        $sizes['post-thumbnail'] = array(
            'width'  => 1200,
            'height' => 800,
            'crop'   => true,
        );
    }
    return $sizes;
}
add_filter( 'wp_get_additional_image_sizes', 'conditional_image_sizes' );

このサンプルは、シングルポストページが表示されている時にだけ特定の画像サイズを追加します。

サンプルコード4: 画像サイズのリストを取得

function list_custom_image_sizes() {
    $sizes = wp_get_additional_image_sizes();
    foreach ( $sizes as $size => $attributes ) {
        echo $size . ' - ' . implode( 'x', $attributes ) . '<br>';
    }
}
add_action( 'wp_footer', 'list_custom_image_sizes' );

このサンプルは、フッター部に現在登録されている全てのカスタム画像サイズをリスト表示します。

サンプルコード5: 特定の画像サイズを除外

function remove_specific_image_size( $sizes ) {
    unset( $sizes['medium_large'] ); // 'medium_large' を削除
    return $sizes;
}
add_filter( 'wp_get_additional_image_sizes', 'remove_specific_image_size' );

このサンプルは、特定の画像サイズ(この場合は「medium_large」)を除外します。これにより、生成されない画像サイズが指定されます。

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


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