Добавьте это в свою тему functions. php и дайте мне знать, работает ли оно.
add_action( 'woocommerce_product_query', 'zero_price_products' );
function zero_price_products( $q ){
$meta_query = $q->get( 'meta_query' );
$meta_query[] = array(
'key' => '_price',
'value' => 0,
'compare' => '='
);
$q->set( 'meta_query', $meta_query );
}
Если вы хотите отображать товары на своей домашней странице, добавьте этот код:
<?php
$args = array(
'post_type' => 'product',
'posts_per_page' => 8,
'post_status' => 'publish',
'orderby' => 'id',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => '_price',
'compare' => '=',
'value' => 0,
)
),
);
$custom_posts = new WP_Query( $args );
if ($custom_posts->have_posts() ) : while ($custom_posts->have_posts() ) : $custom_posts->the_post(); ?>
<?php
wc_get_template_part( 'content', 'product' );
?>
<?php endwhile; endif; ?>