我创建了一个自定义页面模板,我在其中使用WooCommerce函数加载产品列表,但不使用模板。但现在我想在我的自定义页面模板上实现默认的WooCommerce排序功能。我该如何实现呢?
我不想使用WooCommerce模板。我只是想通过使用WooCommerce函数来创建类似默认的排序函数。
这是我的自定义页面模板代码:
<?php
/**
Template Name: Shop page custom layout template
*/
get_header(); ?>
<?php
$full_product_list = array();
$loop = new WP_Query( array( 'post_type' =>array( 'product', 'product_variation' ), 'posts_per_page' => -1,) );
while ( $loop->have_posts() ) : $loop->the_post();
$theid = get_the_ID();
$product = new WC_Product($theid); ?>
<?php $product_url=$product->add_to_cart_url(); ?>
<ul><li><a href="<?php echo get_the_permalink(); ?>">
<?php
echo '<h3>' . get_the_title() . '</h3>';
echo woocommerce_get_product_thumbnail();
if ( $product->is_on_sale() ) :
echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">' . __( 'Sale!', 'woocommerce' ) . '</span>', $post, $product );
endif;
if ( $price_html = $product->get_price_html() ) : ?>
<span class="price"><?php echo $price_html; ?></span>
<?php endif;
if ( $rating_html = $product->get_rating_html() ) : ?>
<?php echo $rating_html; ?>
<?php endif; ?>
<?php $cart_url="/construction/shop/?add-to-cart=".$theid; ?>
<a class="button product_type_simple add_to_cart_button ajax_add_to_cart" data-product_sku="" data-product_id="<?php echo $theid ?>" data-quantity="1" href="<?php echo $cart_url; ?>" rel="nofollow">Add to cart</a>
</a></li></ul>
<?php
endwhile; wp_reset_query();
?>
<?php get_footer(); ?>
答案 0 :(得分:0)
没有&#34;默认的Woocommerce排序功能&#34;因为订单产品的显示取决于附加到显示产品的页面的功能。但假设您要按产品标题排序,请将查询更改为:
$loop = new wp_query(array('post_type' =>array('product', 'product_variation'), 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC'));
这将按标题按升序排序,我猜是你想要的。