我想在正常的woocommerce循环的中间插入一个特色产品区域。
woocommerce循环的代码是
<?php
if ( woocommerce_product_loop() ) {
do_action( 'woocommerce_before_shop_loop' );
woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
while ( have_posts() ) {
the_post();
do_action( 'woocommerce_shop_loop' );
wc_get_template_part( 'content', 'product' );
}
}
woocommerce_product_loop_end();
do_action( 'woocommerce_after_shop_loop' );
} else {
do_action( 'woocommerce_no_products_found' );
}
do_action( 'woocommerce_after_main_content' );
?>
我要在8种产品之后插入的简码是
<div class="cart-upsell hide-on-desktop clear">
<h3 class="centered">You May Also Like...</h3>
<?php echo do_shortcode('[products limit="2" columns="2" orderby="rand" order="DESC"]')?>
</div>
目前,此消息显示在循环的末尾,但认为它会在中间效果更好-仅在移动设备上显示。
那我怎样才能使它进入循环的中间?
答案 0 :(得分:2)
这应该有效:
<?php
if ( woocommerce_product_loop() ) {
do_action( 'woocommerce_before_shop_loop' );
woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
$i = 1;
while ( have_posts() ) {
the_post();
do_action( 'woocommerce_shop_loop' );
wc_get_template_part( 'content', 'product' );
if(8 === $i){
?>
<div class="cart-upsell hide-on-desktop clear">
<h3 class="centered">You May Also Like...</h3>
<?php echo do_shortcode('[products limit="2" columns="2" orderby="rand" order="DESC"]')?>
</div>
<?php
}
$i++;
}
}
woocommerce_product_loop_end();
do_action( 'woocommerce_after_shop_loop' );
} else {
do_action( 'woocommerce_no_products_found' );
}
do_action( 'woocommerce_after_main_content' );
?>