#php #wordpress #woocommerce #hook-woocommerce #shortcode
Вопрос:
Я использую woocommerce_shortcode_products_loop_no_results
фильтр вот так:
add_action('woocommerce_shortcode_products_loop_no_results', function() {
echo '<h1 class="text-white p-4 border bg-secondary">NO PRODUCTS HERE!</h1>';
});
Поэтому, если шорткод не возвращает никаких продуктов, мы должны увидеть NO PRODUCTS HERE!
А теперь:
- Если мы попытаемся использовать шорткод, как
[products category="empty-category"]
это работает нормально. В этой категории нет товаров, поэтому действиеwoocommerce_shortcode_products_loop_no_results
возвращаетсяNO PRODUCTS HERE!
- Но если мы попытаемся использовать такой шорткод
[products category="empty-category" on_sale="true"]
(а у нас есть некоторые продуктыon_sale
из другой категории),woocommerce_shortcode_products_loop_no_results
действие не сработает.
Это похоже на ошибку с запросами базы данных WooCommerce, поэтому, возможно, мне следует добавить «флаг» где-то в более раннем фильтре? Может быть, что-то из woocommerce_shortcode_products_query_results
?
Комментарии:
1. Это ошибка в WooCommerce. Как бы то ни было, если вы просто используете
[products on_sale="true"]
(без категории..), это не имеет значения, сообщение «нет результатов» также не отображается