В продуктах WooCommerce у меня есть настраиваемое мета-поле с именем "amazon_price", и я хочу скрыть, чтобы продукты не отображались во внешнем интерфейсе, если для этого настраиваемого поля "amazon_price" не установлена цена.
Я использовалЭтот код выполняет фильтрацию, которая отлично работает для простых продуктов, но не показывает переменные продукты, даже если у них установлено поле «amazon_price». Думаю, причина этой проблемы в том, что этот код может искать значение поля «amazon_price» наосновной идентификатор сообщения для продукта, так что я думаю, что это может быть поиск основного идентификатора сообщения для переменного продукта вместо поиска этого поля в идентификаторе переменной, но даже если мое предположение было верным, я все еще не знаю, как это исправить.
add_action( 'woocommerce_product_query', 'apm_products_meta_query' );
function apm_products_meta_query( $q ){
$meta_query = $q->get( 'meta_query' );
$meta_query[] = array(
'key' => 'amazon_price',
'value' => 0,
'compare' => '>'
);
$q->set( 'meta_query', $meta_query );
}