概要
woocommerce_gallery_image_size
フィルタは、WooCommerceの商品のギャラリー画像のサイズを変更するために使用されるフックです。このフィルタを利用することで、商品ページの表示スタイルをカスタマイズし、特定のデザインやレイアウトに合わせて商品の画像を最適化できます。一般的な使用例としては、以下のようなケースがあります。
- 高解像度の画像を表示することで、商品の詳細をより明確に見せる。
- サイトのテーマに合わせた特定の画像サイズを設定する。
- ギャラリーの画像に一貫性を持たせ、ユーザーエクスペリエンスを向上させる。
- レスポンシブデザインを考慮して画像サイズを調整する。
- カスタムテーマやプラグインにおいて画像サイズを動的に変更する。
- 特定のデバイスや画面サイズに応じた画像表示を実現する。
構文
add_filter('woocommerce_gallery_image_size', 'custom_gallery_image_size');
パラメータ
- $size (string): 指定するギャラリー画像のサイズ。デフォルトは「’woocommerce_gallery_thumbnail’」。
戻り値
- string: 新しい画像サイズの識別子。
WooCommerce バージョン
- このフィルタはWooCommerce 2.1以降に存在します。
WordPress バージョン
- WordPress 4.0以降で使用可能です。
サンプルコード
サンプル1: ギャラリー画像のサイズを設定
function custom_gallery_image_size() {
return 'medium'; // 画像サイズを'medium'に設定
}
add_filter('woocommerce_gallery_image_size', 'custom_gallery_image_size');
このサンプルコードでは、WooCommerceのギャラリー画像のサイズを ‘medium’ に変更しています。
サンプル2: スマートフォン用のギャラリー画像サイズの調整
function adjust_gallery_image_size_for_mobile() {
if ( wp_is_mobile() ) {
return 'thumbnail'; // スマートフォンの場合は小さいサイズを表示
}
return 'large'; // デスクトップの場合は大きいサイズを表示
}
add_filter('woocommerce_gallery_image_size', 'adjust_gallery_image_size_for_mobile');
このコードは、モバイルデバイスで商品ギャラリーの画像サイズを ‘thumbnail’ に設定し、デスクトップでは ‘large’ に設定しています。
サンプル3: ギャラリー画像をカスタムサイズに変更
function set_custom_gallery_image_size() {
return 'custom-size'; // 'custom-size'にカスタムサイズを設定
}
add_filter('woocommerce_gallery_image_size', 'set_custom_gallery_image_size');
このコードは、ギャラリー画像のサイズを ‘custom-size’ というカスタムサイズに設定しています。
サンプル4: 商品カテゴリにより異なるサイズの設定
function filter_gallery_image_size_by_category($size) {
if (has_term('特定のカテゴリ', 'product_cat')) {
return 'large'; // 特定のカテゴリの場合は大きい画像
}
return $size; // それ以外は元のサイズ
}
add_filter('woocommerce_gallery_image_size', 'filter_gallery_image_size_by_category');
このサンプルコードは、特定のカテゴリに属する商品のギャラリー画像を ‘large’ に設定し、それ以外の商品は元のサイズのままにしています。
サンプル5: 訪問者の画面サイズに基づく画像調整
function responsive_gallery_image_size() {
return (isset($_COOKIE['screen_size']) && $_COOKIE['screen_size'] == 'small') ? 'thumbnail' : 'medium';
}
add_filter('woocommerce_gallery_image_size', 'responsive_gallery_image_size');
このコードは、訪問者の画面サイズに基づいてギャラリー画像のサイズを調整するものです。小さい画面サイズの場合は ‘thumbnail’、それ以外は ‘medium’ に設定しています。
この関数のアクションでの使用可能性
アクション | 使用可否 |
---|---|
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 | 〇 |