首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在分类页面上显示产品变体

在分类页面上显示产品变体
EN

Stack Overflow用户
提问于 2014-09-14 02:03:36
回答 3查看 9.2K关注 0票数 3

如何在WooCommerce类别页面上显示所有产品变体?

我已经设置了一个具有三个变体的变量产品。我希望每个变体(而不是变量产品本身)在产品类别页面上显示为单独的产品。用户应该能够打开一个变量产品并将其添加到购物车中。

这个是可能的吗?

EN

回答 3

Stack Overflow用户

发布于 2014-09-19 01:27:57

示例:http://bennyhendrikx.be/product-categorie/clothing/page/2/

将此代码添加到您的functions.php中

代码语言:javascript
复制
   if ( ! function_exists( 'woocommerce_template_loop_add_to_cart' ) ) {

  function woocommerce_template_loop_add_to_cart() {
    global $product;

    if ($product->product_type == "variable" && (is_product() || is_product_category() || is_product_tag())) {
      woocommerce_variable_add_to_cart();
    }

    else {
      woocommerce_get_template( 'loop/add-to-cart.php' );
    }
  }

}
票数 2
EN

Stack Overflow用户

发布于 2015-01-29 04:08:49

代码语言:javascript
复制
add_action('woocommerce_after_shop_loop_item_title','woocommerce_template_single_variation', 5);
function woocommerce_template_single_variation() {
            global $product;
            if ($product->product_type == "variable" && (is_product_category() || is_product_tag())) {
              echo woocommerce_variable_add_to_cart();
            }

 }
票数 0
EN

Stack Overflow用户

发布于 2018-11-01 15:00:07

您好,您只需将此代码粘贴到您的主题functions.php

以下是代码

代码语言:javascript
复制
/**
 * Replace add to cart button in the loop.
 */
function iconic_change_loop_add_to_cart() {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
    add_action( 'woocommerce_after_shop_loop_item', 'iconic_template_loop_add_to_cart', 10 );
}

add_action( 'init', 'iconic_change_loop_add_to_cart', 10 );

/**
 * Use single add to cart button for variable products.
 */
function iconic_template_loop_add_to_cart() {
    global $product;

    if ( ! $product->is_type( 'variable' ) ) {
        woocommerce_template_loop_add_to_cart();
        return;
    }

    remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
    add_action( 'woocommerce_single_variation', 'iconic_loop_variation_add_to_cart_button', 20 );

    woocommerce_template_single_add_to_cart();
}

/**
 * Customise variable add to cart button for loop.
 *
 * Remove qty selector and simplify.
 */
function iconic_loop_variation_add_to_cart_button() {
    global $product;

    ?>
    <div class="woocommerce-variation-add-to-cart variations_button">
        <button type="submit" class="single_add_to_cart_button button"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button>
        <input type="hidden" name="add-to-cart" value="<?php echo absint( $product->get_id() ); ?>" />
        <input type="hidden" name="product_id" value="<?php echo absint( $product->get_id() ); ?>" />
        <input type="hidden" name="variation_id" class="variation_id" value="0" />
    </div>
    <?php
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25826092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档