有人会关心帮我在WooCommerce(Wordpress插件)商店页面禁用循环吗?
我使用了短代码来填充我需要的产品类别的页面,所以现在我需要阻止WooCommerce在我的内容下面显示任何内容(WooCommerce正在从循环加载产品但我不希望它)。
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php wc_get_template_part( 'content', 'product' ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
^在那里我需要实现if(is_shop())在/ shop页面上什么都不显示,然后ifif显示上面的代码,这样子类别页面和产品档案就不会破坏。
我会非常感谢任何帮助...
答案 0 :(得分:1)
您需要使用is_shop()
检查您是否在商店页面上。有关详细信息,请参阅WooCommerce Docs on Conditional Tags。
<?php while ( have_posts() && !is_shop() ) : the_post(); ?>
我不完全明白你是否可以完全摆脱商店页面上发布的代码......但如果你是,你可以将整个事物包装成条件:
<?php if ( !is_shop() ) : ?>
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php wc_get_template_part( 'content', 'product' ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php endif; ?>
答案 1 :(得分:-1)
如何从商店页面中删除排序顺序,产品/类别循环和分页,以便通过页面编辑器仅使用短代码实现您自己的内容。
产品archive.php:
<?php if ( !is_shop() ) : ?>
<?php
/**
* woocommerce_before_shop_loop hook
*
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( 'woocommerce_before_shop_loop' );
?>
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php wc_get_template_part( 'content', 'product' ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php
/**
* woocommerce_after_shop_loop hook
*
* @hooked woocommerce_pagination - 10
*/
do_action( 'woocommerce_after_shop_loop' );
?>
<?php endif; ?>