Вы близко, добавьте type
'type' => 'numeric' // specify it for numeric values
type (string) - Тип настраиваемого поля. Возможные значения: 'NUMERIC'
, 'BINARY'
, 'CHAR'
, 'DATE'
, 'DATETIME'
, 'DECIMAL'
, 'SIGNED'
, 'TIME'
, 'UNSIGNED'
. Значение по умолчанию: 'CHAR'
.
- compare (string) - Оператор для проверки. Возможные значения:
'='
, '!='
, '>'
, '>='
, '<'
, '<='
, 'LIKE'
, 'NOT LIKE'
, 'IN'
, 'NOT IN'
, 'BETWEEN'
, 'NOT BETWEEN'
. , 'EXISTS'
(только в WP> = 3.5) и 'NOT EXISTS'
(также только в WP> = 3.5). Значения 'REGEXP'
, 'NOT REGEXP'
и 'RLIKE'
были добавлены в WordPress 3.7. Значение по умолчанию: '='
.
Результат:
Это скроет все продукты, цена которых выше 1, в архиве продуктов. страница (магазин)
function react2wp_hide_products_higher_than_1( $q, $query ) {
// Returns true when on the product archive page (shop).
if ( is_shop() ) {
// Get any existing meta query
$meta_query = $q->get( 'meta_query' );
// Define an additional meta query
$meta_query[] = array(
'key' => '_price',
'value' => 1,
'type' => 'numeric', // specify it for numeric values
'compare' => '<'
);
// Set the new merged meta query
$q->set( 'meta_query', $meta_query );
}
}
add_action( 'woocommerce_product_query', 'react2wp_hide_products_higher_than_1', 10, 2 );