概要
woocommerce_product_thumbnails_large_size
フィルタは、WooCommerceの製品サムネイルの大サイズに関する設定をカスタマイズするために使用されます。このフィルタを使うことで、特定の条件に基づいて画像サイズを変更したり、独自の設定を適用したりすることができます。通常、カスタムテーマやプラグインの開発で、次のような機能を実装する際によく利用されます:
- 製品画像の表示サイズを調整する
- 商品一覧ページのデザインをカスタマイズする
- 特定のカテゴリやタグに基づいて画像サイズを変える
- メディアライブラリの画像設定を変更する
- 各製品の詳細ページで使用する特定の画像サイズを定義する
- 外部APIとの統合において画像のサイズを調整する
構文
add_filter( 'woocommerce_product_thumbnails_large_size', 'custom_function_name' );
パラメータ
$size
(string): 画像のサイズを表す文字列(例:”large”、”medium”など)。$product
(WC_Product): 現在の製品オブジェクト。
戻り値
- 変更された画像サイズ(string)。
対応プラグインとバージョン
- WooCommerce: 3.0以上
- WordPress: 4.0以上
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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( 'woocommerce_product_thumbnails_large_size', 'custom_large_image_size' );
function custom_large_image_size( $size ) {
return '1024x1024'; // 新しいサイズを指定
}
このコードは、WooCommerceの製品サムネイルの大サイズを1024×1024ピクセルに変更します。リサイズしたい場合に役立ちます。
サンプル2: 特定の製品のサイズを変更する
add_filter( 'woocommerce_product_thumbnails_large_size', 'conditional_large_image_size' );
function conditional_large_image_size( $size ) {
global $product;
if ( $product->get_id() === 123 ) { // 製品IDが123の場合
return '800x800';
}
return $size;
}
特定の製品IDに基づいて画像サイズを変更する例です。特定の商品の表示をカスタマイズしたいときに有用です。
サンプル3: カテゴリに基づいてサイズを変更する
add_filter( 'woocommerce_product_thumbnails_large_size', 'category_based_large_image_size' );
function category_based_large_image_size( $size ) {
global $product;
if ( has_term( 'special', 'product_cat', $product->get_id() ) ) { // 'special'カテゴリの場合
return '1200x1200';
}
return $size;
}
このコードは、特定のカテゴリに属する製品の画像サイズを変更します。カテゴリごとのデザインを柔軟に調整できます。
サンプル4: プロダクトスワッチを考慮したサイズ変更
add_filter( 'woocommerce_product_thumbnails_large_size', 'swatch_based_large_image_size' );
function swatch_based_large_image_size( $size ) {
global $product;
$attributes = $product->get_attributes();
if ( isset( $attributes['color'] ) ) { // カラー属性がある場合
return '500x500';
}
return $size;
}
製品にカラー属性がある場合にサイズを変更する例です。色による表示を調整する際に利用できます。
サンプル5: コンディショナルサイズ変更
add_filter( 'woocommerce_product_thumbnails_large_size', 'conditional_size_for_sale' );
function conditional_size_for_sale( $size ) {
global $product;
if ( $product->is_on_sale() ) { // セール中製品の場合
return '600x600';
}
return $size;
}
このコードは、セール中の製品に対して異なる画像サイズを適用します。マーケティング戦略に基づいたカスタマイズとして便利です。
参考文献や詳細な情報を確認したい場合は、WooCommerceの公式ドキュメントを参照してください。