Я использую следующий код, чтобы скрыть цикл товаров на странице магазина Woo:
add_action( 'pre_get_posts', 'bbloomer_remove_products_from_shop_page' );
function bbloomer_remove_products_from_shop_page( $q ) {
if ( ! $q->is_main_query() ) return;
if ( ! $q->is_post_type_archive() ) return;
if ( ! is_admin() && is_shop() ) {
$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'null' ),
'operator' => 'IN'
)));
}
remove_action( 'pre_get_posts', 'bbloomer_remove_products_from_shop_page' );
}
function wc_no_products_found() {
if ( is_shop() ) {
echo '<style>p.woocommerce-info{display:none}</style';
}
}
Это работает.Он удаляет все продукты и выводит сообщение об ошибке Woo no products.
Проблема заключается в следующем:
Поскольку приведенный выше код удаляет сообщение об ошибке «Продукты не найдены».В случае, если кто-то ищет в одной из моих категорий что-то, что не существует, результирующая страница результатов поиска также пуста.
Итак, простыми словами, я хочу удалить сообщение об ошибке "нет товаров" только изСтраница магазина.Где я удалил все продукты.И все же сообщение об ошибке отображается на (неудачной) странице результатов поиска.
Заранее благодарим за любую помощь.