Как изменить положение обрезки миниатюр 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
}

Я попытался изменить урожай0 вarray("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' ) );
}

Есть ли в любом случае, я могу изменить это?

Благодарю.

Ответы на вопрос(1)

Решение Вопроса

й активной дочерней теме или теме, вам необходимо использовать'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

Так что на основеэтот фрагмент из 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> Продукты> Показать (Изображения продуктов).

АКТИВАЦИЯ:
Вам нужно будетпереключи свою активную тему к другому, а затем переключитесь обратно, чтобы активировать его.

Рекомендации:

Установить размеры изображения WooCommerce при активации темы
 Lam Kieu08 июл. 2016 г., 03:31
Работает отлично. Спасибо!

Ваш ответ на вопрос