プラグインWooCommerceのwoocommerce_get_image_size_$IMAGE_SIZEフィルタの使用方法・解説

概要

woocommerce_get_image_size_$IMAGE_SIZE フィルタは、WooCommerceの画像サイズをカスタマイズするためのフックです。このフィルタを使用することで、特定の画像サイズに対する設定を変更したり、新しいサイズを追加したりすることができます。例えば、サムネイルや商品の詳細画像など、さまざまな用途に応じた画像サイズを柔軟に変更できます。

このフィルタは、以下のような機能を実装する際によく使われます。

  1. 商品のサムネイルサイズの変更
  2. カテゴリー画像サイズのカスタマイズ
  3. ギャラリー画像のサイズ調整
  4. 特定のページにおける画像のサイズ設定
  5. 外部プラグインやテーマとの互換性のためのサイズ変更
  6. 画像サイズの自動生成設定の調整

構文

add_filter( 'woocommerce_get_image_size_$IMAGE_SIZE', 'custom_image_size' );

パラメータ

  • $IMAGE_SIZE – 変更する画像サイズの名前(例:thumbnail, single, galleryなど)。
  • $size – 画像サイズ設定の配列。

戻り値

  • 画像サイズの設定が含まれる配列。

使用可能なバージョン

  • プラグイン WooCommerce: 3.0 以上
  • ワードプレス: 4.0 以上

サンプルコード

サンプル1: サムネイルサイズの変更

add_filter( 'woocommerce_get_image_size_thumbnail', function( $size ) {
    return array(
        'width'  => 300,
        'height' => 300,
        'crop'   => 1,
    );
});

このサンプルコードは、WooCommerceの商品サムネイル画像のサイズを300×300ピクセルに変更します。

サンプル2: 商品画像サイズのカスタマイズ

add_filter( 'woocommerce_get_image_size_single', function( $size ) {
    return array(
        'width'  => 600,
        'height' => 600,
        'crop'   => 0,
    );
});

このサンプルコードは、商品の詳細ページに表示される画像のサイズを600×600ピクセルに設定します。

サンプル3: ギャラリー画像のサイズ設定

add_filter( 'woocommerce_get_image_size_gallery', function( $size ) {
    return array(
        'width'  => 500,
        'height' => 500,
        'crop'   => 1,
    );
});

このサンプルコードでは、商品ギャラリー画像のサイズを500×500ピクセルに変更します。

サンプル4: カスタムサイズを追加

add_filter( 'woocommerce_get_image_size_custom_size', function( $size ) {
    return array(
        'width'  => 800,
        'height' => 800,
        'crop'   => 1,
    );
});

このコードでは、カスタム画像サイズを800×800ピクセルに設定します。

サンプル5: 新しいサイズを設定

add_filter( 'woocommerce_get_image_size_hero', function( $size ) {
    return array(
        'width'  => 1200,
        'height' => 600,
        'crop'   => 0,
    );
});

このサンプルコードは、ヒーロー画像用の新しいサイズを1200×600ピクセルに設定します。

この関数のアクションでの使用可能性

アクション 使用可能
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

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


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