在WooCommerce中,我使用过woocommerce产品过滤器。当我刷新页面时,它会以随机顺序显示产品。
当我刷新产品页面时,有人可以帮我弄清楚如何以相同的顺序显示相同的产品吗?
<?php global $wp_query;
$cat = $wp_query->get_queried_object();
$thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true );
$image = wp_get_attachment_url( $thumbnail_id ); ?>
<?php if($image): ?>
<?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
<div class="interior-banner group" <?php if ( $image ) : ?>style="background:url(<?php echo $image;?>) no-repeat center;"<?php endif; ?>>
<div class="background-mask">
<div class="content">
<h1 class="title"><?php woocommerce_page_title(); ?></h1>
<h2 class="sub-title"><?php echo get_cat_name($cat->parent);?></h2>
</div>
</div>
</div>
<?php if($cat->description): ?>
<div class="interior-banner-description">
<div class="content">
<p class="description"><?php echo $cat->description; ?></p>
</div>
</div>
<?php endif;?>
<?php endif;?>
<?php endif;?>
<div class="woocommerce-child-cat">
<?php woocommerce_breadcrumb(); ?>
<?php if ( have_posts() ) : ?>
<div class="child-cat-cover group ">
<div class="left-column">
<?php
global $wp_query;
$cat = $wp_query->get_queried_object();
//product filter
echo '<h4 class="cat-title">'.$cat->name.'</h4>';
echo do_shortcode('[woof sid="product-filter" is_ajax=1 taxonomies=product_cat:'. $cat->term_id .']');
?>
</div>
<div class="right-column">
<?php echo do_shortcode('[woof_products per_page=12 columns=3 is_ajax=1 taxonomies=product_cat:'. $cat->term_id .']'); ?>
</div>
</div>
<?php elseif ( ! woocommerce_product_subcategories( array( 'before' => woocommerce_product_loop_start( false ), 'after' => woocommerce_product_loop_end( false ) ) ) ) : ?>
<?php wc_get_template( 'loop/no-products-found.php' ); ?>
<?php endif; ?>
</div>
答案 0 :(得分:0)
您可以使用&#39; pre_get_post&#39;修改查询。挂钩并添加&#39; post_order&#39;到产品存档页面pre_get_post doc上的查询 如果您想更具体地了解查询修改的效果,请仅对product_archive页面使用条件标记。