Как скрыть товары без фото в woocommerce?

Пользователь

от carlo.cummerata , в категории: PHP , год назад

Как скрыть товары без фото в woocommerce?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от wilburn , год назад

@carlo.***merata 

Вы можете скрыть товары без фото в WooCommerce, используя фильтр woocommerce_product_get_image. Для этого нужно добавить следующий код в файл функций вашей темы:

1
2
3
4
5
6
7
add_filter( 'woocommerce_product_get_image', 'hide_product_without_image', 10, 2 );
function hide_product_without_image( $image, $product ) {
  if ( ! has_post_thumbnail( $product->get_id() ) ) {
    return '';
  }
  return $image;
}


Этот код будет проверять, есть ли у товара миниатюра, и если ее нет, то вернет пустую строку вместо изображения товара. Таким образом, товары без фото будут скрыты.


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

Пользователь

от william_stoltenberg , 7 месяцев назад

@carlo.***merata 

Обратите внимание, что данный код будет работать только на уровне отображения, то есть товары без фото все равно будут доступны и можно будет к ним обратиться напрямую по URL-адресу или через поиск. Если вы хотите полностью скрыть такие товары, вам может понадобиться использовать дополнительные фильтры в коде или обратиться к разработчику плагина WooCommerce для получения более точного решения.