Мне нужно отобразить рекомендуемые товары выше l oop на странице магазина и категории. Я могу это сделать, но мне также нужно скрыть эти продукты в l oop по умолчанию. Я хотел решить эту проблему с помощью настроек видимости продукта, но продукты всегда отображаются или скрываются в обоих циклах.
В идеале я хотел бы установить продукты как выделенные и скрытые, а также настроить свой пользовательский l oop игнорировать настройки видимости. Я просто не могу понять это.
Я сейчас использую этот код:
function featured_products_beforeloop() {
$args = array(
'post_type' => 'product',
'posts_per_page' => 12,
'tax_query' => array(
array(
'field' => 'name',
'terms' => 'featured',
),
),
);
$loop = new WP_Query( $args ); ?>
<ul class="products columns-<?php echo esc_attr( wc_get_loop_prop( 'columns' ) ); ?>">
<?php while ( $loop->have_posts() ) :
global $product; ?>
<li <?php wc_product_class( '', $product ); ?>>
<?php if ( has_post_thumbnail( $loop->post->ID ) )
echo get_the_post_thumbnail( $loop->post->ID, 'shop_catalog' );
else
echo '<img src="' . woocommerce_placeholder_img_src() . '" alt="' . $product->get_title() . '" class="attachment-shop_catalog size-shop_catalog wp-post-image" width="300px" height="300px" />'; ?>
<h3><?php the_title(); ?></h3>
<?php if ( $price_html = $product->get_price_html() ) : ?>
<span class="price"><?php echo $price_html; ?></span>
<?php endif;
woocommerce_template_loop_add_to_cart( $loop->post, $product ); ?>
</li>
<?php
endwhile; ?>
</ul> <?php
wp_reset_postdata();
}
add_action( 'woocommerce_before_shop_loop', 'featured_products_beforeloop', 10 );