WooCommerce: как фильтровать продукты по пользовательским мета-метам и отображать их в цикле Elementor?Php

Кемеровские программисты php общаются здесь
Anonymous
WooCommerce: как фильтровать продукты по пользовательским мета-метам и отображать их в цикле Elementor?

Сообщение Anonymous »

Я создаю веб-сайт WordPress с использованием WooCommerce и Elementor и хочу отображать список продуктов в пользовательском цикле Elementor на основе настраиваемого метаполя продукта.
У меня есть настраиваемое поле Feature_color (добавленное с помощью update_post_meta) для каждого продукта. Например:
  • Продукт A → Featured_color = "red"
  • Продукт B → Featured_color = "blue"
  • Продукт C → Featured_color = "red"
Я хочу, чтобы Elementor показывать только продукты, у которых Featured_color = красный в пользовательском разделе.
Я пробовал использовать собственный запрос в файле function.php:

Код: Выделить всё

function custom_elementor_query( $query ) {
$query->set( 'meta_key', 'featured_color' );
$query->set( 'meta_value', 'red' );
}
add_action( 'elementor/query/my_custom_filter', 'custom_elementor_query' );
Частично работает, но:
  • Иногда продукты не отображаются, даже если мета-мета установлена
  • Разбивка на страницы прерывается, когда несколько продуктов совпадают
  • Не уверен, что это правильный способ фильтровать продукты WooCommerce по мета-метам в Elementor
Вопросы:
  • Как правильно фильтровать продукты WooCommerce по пользовательским мета-данным для цикла Elementor?
  • Как обеспечить правильную работу разбиения на страницы с пользовательским запросом?
  • Есть ли проблемы с производительностью при использовании Meta_query для многих продуктов?
Среда:
  • WordPress 6.x
  • WooCommerce 10.x
  • Elementor 3.x
  • Тема: Астра


Подробнее здесь: https://stackoverflow.com/questions/798 ... entor-loop

Вернуться в «Php»