在Woocommerce中,我需要一些关于此自定义产品循环的帮助,在我的代码中我的结果是:how it looks like
循环没有停止,它循环相同的产品三到四次。
我正在使用的代码在这里:
<div class="container">
<div id="default_products_page_container" class="wrap wpsc_container">
<?php
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
$cat = get_query_var( 'product_cat' );
$args = array( 'post_type' => 'product', 'posts_per_page' => 5, 'product_cat' => $cat, 'orderby' => 'rand' );
$loop = new WP_Query( $args );
?>
<div class="wpsc_default_product_list">
<?php
while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
<div class="col-lg-4 col-md-4 col-sm-12 col-xs-12">
<div class="default_product_display product_view_<?php echo get_permalink( $loop->post->ID ); ?>group">
<a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>"/>
<?php if (has_post_thumbnail( $loop->post->ID ))
{
?>
<div class="product-image-thumb">
<img src="<?php echo the_post_thumbnail_url( $loop->post->ID );?>"/>
</div>
<?php
} else
{?>
<div class="product-image-thumb">
<a>
<img src="<?php echo woocommerce_placeholder_img_src();?>"/>
</a>
</div>
<?php } ?>
</div>
</div>
<?php endwhile; ?>
</div>
<?php wp_reset_query(); ?>
</div>
</div>
答案 0 :(得分:1)
你需要这样做tax query:
$loop = new WP_Query( array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => 5,
'tax_query' => array( array(
'taxonomy' => 'product_cat',
'field' => 'slug', // Or 'term_id' or 'name'
'terms' => get_query_var( 'product_cat' ), // A slug term
// 'include_children' => false // or true (optional)
)),
'orderby' => 'rand'
) );
经过测试并使用Woocommerce产品类别存档页面...
答案 1 :(得分:0)
您的代码应该可以使用,但它会占用循环中的所有产品(包括那些标记为&#34; draft&#34;当您登录时)。您只能通过将'post_status' => 'publish'
添加到参数变量来定义发布。
你应该看看那些锚标签(特别是关闭部分)
答案 2 :(得分:0)
我希望这段代码能对您有所帮助:)
sudo supervisorctl reread