Php 我只需要在特定页面(wordpress/woocommerce)上打破一个循环
有人愿意帮我禁用WooCommerce(Wordpress插件)商店页面上的循环吗 我已经使用短代码在页面中填充了我需要的产品类别,因此现在我需要阻止WooCommerce在我的内容下显示任何内容(WooCommerce正在从循环加载产品,但我不希望它这样做)Php 我只需要在特定页面(wordpress/woocommerce)上打破一个循环,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,有人愿意帮我禁用WooCommerce(Wordpress插件)商店页面上的循环吗 我已经使用短代码在页面中填充了我需要的产品类别,因此现在我需要阻止WooCommerce在我的内容下显示任何内容(WooCommerce正在从循环加载产品,但我不希望它这样做) ^在其中的某个地方,我需要实现if(is_shop())在/shop页面上不显示任何内容,然后实现elseif来显示上面的代码,以便子类别页面和产品归档不会中断 如果您能提供任何帮助,我将不胜感激。您需要使用is\u shop()检查
^在其中的某个地方,我需要实现if(is_shop())在/shop页面上不显示任何内容,然后实现elseif来显示上面的代码,以便子类别页面和产品归档不会中断
如果您能提供任何帮助,我将不胜感激。您需要使用
is\u shop()
检查您是否在店铺页面上。有关更多信息,请参阅
<?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; ?>
如何从商店页面中删除排序顺序、产品/类别循环和分页,以便通过页面编辑器仅使用快捷码实现您自己的内容 product-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; ?>
获取页面id,并在此基础上创建一个条件。它不会显示页面id,因为它会从product-archive.php中提取商店和类别页面的内容。无论如何,谢谢。这不太好,因为当它是\u shop()
时,它会停止。相反,他需要在while
循环之外添加一个条件。为什么?他说他不希望它在商店页面上返回任何WC内容。也许我误解了……在这种情况下,我会删除答案。哦,我明白了,你是对的。我不明白你做了什么,这很有效!它仍然在我的内容下方显示“排序顺序”下拉列表和分页链接。如果需要的话,我可以用CSS隐藏它们?嗯…是的,应该可以,假设你可以在那个页面上专门针对它们。如果您能够隐藏上面发布的所有代码,您也可以编写一个大条件来包装整个函数集。
<?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; ?>