Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我只需要在特定页面(wordpress/woocommerce)上打破一个循环_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 我只需要在特定页面(wordpress/woocommerce)上打破一个循环

Php 我只需要在特定页面(wordpress/woocommerce)上打破一个循环,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,有人愿意帮我禁用WooCommerce(Wordpress插件)商店页面上的循环吗 我已经使用短代码在页面中填充了我需要的产品类别,因此现在我需要阻止WooCommerce在我的内容下显示任何内容(WooCommerce正在从循环加载产品,但我不希望它这样做) ^在其中的某个地方,我需要实现if(is_shop())在/shop页面上不显示任何内容,然后实现elseif来显示上面的代码,以便子类别页面和产品归档不会中断 如果您能提供任何帮助,我将不胜感激。您需要使用is\u shop()检查

有人愿意帮我禁用WooCommerce(Wordpress插件)商店页面上的循环吗

我已经使用短代码在页面中填充了我需要的产品类别,因此现在我需要阻止WooCommerce在我的内容下显示任何内容(WooCommerce正在从循环加载产品,但我不希望它这样做)


^在其中的某个地方,我需要实现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; ?>