2016-07-07 65 views
2

我在嘗試更改WooCommerce縮略圖裁剪位置。我發現這個代碼,可以幫助改變大小:如何更改WooCommerce縮略圖裁剪位置?

add_action('init', 'yourtheme_woocommerce_image_dimensions', 1); 

/** 
* Define image sizes 
*/ 
function yourtheme_woocommerce_image_dimensions() { 
    $catalog = array(
     'width'  => '100', // px 
     'height' => '100', // px 
     'crop'  => 0 
    ); 

    // Image sizes 
    update_option('shop_catalog_image_size', $catalog);  // Product category thumbs 
} 

我做了一些嘗試樣改變作物0array("center", "bottom"),但它不工作:

function yourtheme_woocommerce_image_dimensions() { 
    $catalog = array(
    'width' => '300', // px 
    'height' => '400', // px 
    'crop' => 'array("center", "bottom")' 
); 

    // Image sizes 
    update_option('shop_catalog_image_size', $catalog);  // Product category thumbs 
} 

而且也是這個沒有成功:

if (function_exists('add_image_size')){ 
    add_image_size('shop_catalog', 300, 400, array('center', 'bottom')); 
} 

有反正我可以改變它嗎?

謝謝。

回答

2

要在活動的子主題或主題內更改現有圖像大小(裁剪選項),您需要使用'after_switch_theme' WordPress鉤子。

由於WordPress 3.9+是一個非常棒的新功能,現在可以控制在WordPress上傳的圖片的裁剪位置。
我不知道作物魔藥高級選項是否可用於woocommerce圖像大小,您將不得不測試它。

作物位置可用的選項有:

left top 
left center 
left bottom 
right top 
right center 
right bottom 
center top 
center center 
center bottom 

因此,基於this snippet從wooThemes和WordPress的和(這個相對較新)作物的選擇,你可以試試這個:

function yourtheme_woocommerce_image_dimensions() { 
    global $pagenow; 

    if (! isset($_GET['activated']) || $pagenow != 'themes.php') { 
     return; 
    } 
    $catalog = array(
     'width'  => '300', // px 
     'height' => '400', // px 
     'crop'  => array('center', 'bottom') // New crop options to try. 
    ); 
    /* $single = array(
     'width'  => '600', // px 
     'height' => '600', // px 
     'crop'  => 1  // true 
    ); 
    $thumbnail = array(
     'width'  => '120', // px 
     'height' => '120', // px 
     'crop'  => 0  // false 
    ); */ 
    // Image sizes 
    update_option('shop_catalog_image_size', $catalog);  // Product category thumbs 
    /* update_option('shop_single_image_size', $single);  // Single product image 
    update_option('shop_thumbnail_image_size', $thumbnail); // Image gallery thumbs */ 
} 
add_action('after_switch_theme', 'yourtheme_woocommerce_image_dimensions', 1); 

您需要將此代碼片段粘貼到您活動的兒童主題或主題的function.php文件中...

您可以評論/取消註釋代碼(或刪除某些部分)以滿足您的需求。此代碼將覆蓋WooCommerce設置>產品>顯示(產品圖像)中的定義選項。

激活:
您需要將您的活動的主題切換到另一個,然後切換回以激活它。

參考文獻:

+0

它的工作完美。謝謝! –