列出当前类别的产品

时间:2012-11-06 作者:Dime

此代码来自存档页面,列出了具有特定标记的所有产品,是否有人可以帮助我修改此代码,使其仅列出当前类别的产品:

<?php if ( is_product_tag() ) :?>   
    <?php do_action(\'woocommerce_before_shop_loop\'); ?>
        <ul class="products">
            <?php while ( have_posts() ) : the_post(); ?>
                <?php woocommerce_get_template_part( \'content\', \'product\'); ?>
            <?php endwhile; // end of the loop. ?>
        </ul>
    <?php do_action(\'woocommerce_after_shop_loop\'); ?>
<?php endif; ?>

1 个回复
最合适的回答,由SO网友:Steve 整理而成

要做到这一点,最好是在特定标记上添加过滤器/挂钩。请参阅WooCommerce API文档网站上关于排除类别的这段代码,以获得正确的格式并朝着正确的方向前进。http://wcdocs.woothemes.com/snippets/exclude-a-category-from-the-shop-page/

但是,如果您想要一种简单而肮脏的方式来过滤此内容部分上的特定标记,那么您可以在woocommerce\\u get\\u template\\u part()周围包装一个if-then。

<?php while ( have_posts() ) : the_post(); ?>
    <?php if ( *** product has tag *** ) { ?>
            <?php woocommerce_get_template_part( \'content\', \'product\'); ?>
    <?php endif; ?>
<?php endwhile; // end of the loop. ?>
您可以查看产品标签上的API文档http://wcdocs.woothemes.com/apidocs/class-WC_Product.html#_get_tags

请确保您在以下位置遵循WooCommerce主题定制建议:http://wcdocs.woothemes.com/codex/template-structure/

除非您希望这是全局的,否则您必须考虑各种输出,并确定何时不想同时过滤产品和标签。

结束

相关推荐

寄存器_POST_STATUS和SHOW_IN_ADMIN_ALL_LIST

我有一个自定义的帖子状态,它应该是公共可见的,但不显示在编辑屏幕的“所有”列表中。这是我注册帖子状态的方式:register_post_status(\'my_custom_post_status\', array( \'label\' => __(\'The Label\', \'domain\'), \'public\' => true, \'exclude_from_search\' => true, \'show_i