Показать условный размер эскиза в wooccommerce - PullRequest
0 голосов
/ 26 июня 2018

В WooCommerce до версии 3.3 этот код работал правильно:

add_image_size( 'preview', $width = 3072, $height =3072, $crop = false ); 

$post_thumbnail_id = get_post_thumbnail_id( $post->ID );
$filemeta = wp_get_attachment_metadata( $post_thumbnail_id, FALSE );

if ($filemeta['width']>3071 || $filemeta['height']>3071){
    $thumbnail_size    = apply_filters( 'woocommerce_product_thumbnails_large_size', 'preview' );
}else{
    $thumbnail_size    = apply_filters( 'woocommerce_product_thumbnails_large_size', 'large' );
}

Этот код был добавлен, чтобы показать посетителю предварительный просмотр изображения в разумном размере без использования оригинального полноразмерного изображения.,Миниатюры отображаются с водяным знаком (не в данный момент, но это другое дело).

WooCommerce, как уже было сказано, изменил способ обработки миниатюр и код больше не работает.Как мне заставить его работать снова в самой последней версии Woo?

Для завершения: см. Эту тему .

Любая помощь очень ценится.

РЕДАКТИРОВАТЬ 2018-06-27

Оказывается, WooCommerce полностью изменил product-image.php в версии 3.3.Я действительно не знаю, как добиться того, чего я хочу.Короче говоря, я не хочу использовать полноразмерное изображение на странице моего отдельного продукта или в лайтбоксе.Код выше работал с предыдущей версией WC.Был добавлен эскиз (макс. 3072 x 3072 пикс.), Который называется «предварительный просмотр».Код проверен, если этот эскиз существует и, если да, использовал его.Когда «превью» для большого пальца не существует, он использует по умолчанию «большой» размер миниатюры.Как я могу заставить его работать в 3.3 и более новой версии .... Я застрял.

1 Ответ

0 голосов
/ 26 июня 2018
add_image_size( 'preview', 3072, 3072, false ); 

$post_thumbnail_id = get_post_thumbnail_id( $post->ID );
$filemeta = wp_get_attachment_metadata( $post_thumbnail_id, FALSE );

function callbackFunc(){

  //set logic

  if (true){

    //do whatever you want

   }

}

apply_filters( 'woocommerce_product_thumbnails_large_size', 'callbackFunc' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...