Как отфильтровать товары по мета-полю?

Для фильтрации товаров в WordPress по мета-полю необходимо использовать WP_Query. WP_Query - это класс WordPress, который позволяет строить запросы к базе данных и получать нужные данные.

Для начала, нужно определить параметры запроса, включая мета-поле и его значение, по которому вы хотите фильтровать товары. Например, если у вас есть мета-поле "price" с ценой товара, и вы хотите отобразить все товары, у которых цена больше 100, то запрос будет выглядеть следующим образом:

$args = array(
    'post_type' => 'product', // Тип записи (например, 'product' для товаров)
    'meta_key' => 'price', // Название мета-поля
    'meta_value' => 100, // Значение мета-поля
    'meta_compare' => '>', // Оператор сравнения (может быть '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'EXISTS', 'NOT EXISTS', 'REGEXP', 'NOT REGEXP', или 'RLIKE')
);

$query = new WP_Query($args);

if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
        // Здесь можно выводить информацию о товаре
    }
} else {
    // Ничего не найдено
}

wp_reset_postdata(); // Сброс данных запроса

В данном примере, WP_Query строит запрос, который выбирает все товары типа 'product', у которых значение мета-поля 'price' больше 100. Метод have_posts() проверяет, есть ли записи, удовлетворяющие запросу, и в цикле while выводятся найденные товары.

Таким образом, используя WP_Query с соответствующими параметрами, можно легко фильтровать товары по мета-полям в WordPress.