当前位置: 首页 > 知识库问答 >
问题:

如何在woocommerce中显示特定产品的“添加到购物车”按钮?

杨昆
2023-03-14

我正在使用一个名为“一键聊天订购”的插件通过whatsapp订购产品,并且我在所有产品的单一产品页面上隐藏了“添加到购物车”按钮。只有当产品重量小于50kg时,我才能显示“添加到购物车”按钮。

样本输出

需要在报价按钮后显示添加到购物车按钮。我已经使用这个片段来隐藏基于我的条件的添加到购物车按钮。但它也隐藏了WhatsApp报价按钮。我不知道为什么?

add_action( 'woocommerce_single_product_summary', 'action_single_product_summary_callback', 1 );
function action_single_product_summary_callback() {
global $product;

$weight = $product->get_weight();
preg_replace('/\D/', '', $weight);

if ( $weight > 50 ) {

    // For variable product types
    if( $product->is_type( 'variable' ) ) {
        remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
        
    }
    // For all other product types
    else {
        remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
        
    }
}

我是WooCommerce的新手。请帮助解决这个问题。

共有1个答案

应和悦
2023-03-14

你正在删除woocommerce_single_product_summary.

以下是他们用来显示whatsapp quote按钮的条件

if ( get_option('wa_order_single_product_button_position') == 'after_atc') {
    add_action( 'woocommerce_after_add_to_cart_button', 'wa_order_add_button_plugin', 5 );
} elseif ( get_option('wa_order_single_product_button_position') == 'under_atc') {
    add_action( 'woocommerce_after_add_to_cart_form', 'wa_order_add_button_plugin', 5 );
} elseif (get_option('wa_order_single_product_button_position') == 'after_shortdesc') {
    add_action( 'woocommerce_before_add_to_cart_form', 'wa_order_add_button_plugin', 5 );
} else {
    add_action( 'woocommerce_after_add_to_cart_button', 'wa_order_add_button_plugin', 5 );
}

您可以通过设置显示whatsapp quote按钮按钮。有三种显示方式。默认值是添加到购物车按钮后的(默认值)。您通过woocommerce\u single\u product\u summary>删除的,因此您可以使用添加到购物车按钮下的选项。

After Add to Cart Button (Default).
Under Add to Cart Button.
After Short Description.

或者你可以通过CSS隐藏。

add_action( 'woocommerce_single_product_summary', 'action_single_product_summary_callback', 1 );
function action_single_product_summary_callback() {
    global $product;

    $weight = $product->get_weight();
    preg_replace('/\D/', '', $weight);

    if ( $weight > 50 ) {
        ?>
        <style type="text/css">
            .single_add_to_cart_button{display: none;}
        </style>
        <?php
    }
}

测试和工作

 类似资料:
  • 勾选了复选框的产品实际上是不可购买的,这是期望的结果。 我遇到的问题是,当我在产品目录页面上为可购买的产品(那些没有勾选的)点击“添加到购物车”时,我被重定向到产品页面,并且默认的WooCommerce消息“对不起,这个产品不能被购买。”出现。应该发生的是,当单击“添加到购物车”按钮时,产品会自动添加到购物车中。 同样从单品页面,我可以毫无问题地添加可购推车。

  • 我怎样才能使它像预期的那样工作呢? 下面是它在这个链接上的实际工作方式。

  • 所以我的木业商店发生了一件奇怪的事情。 现在,当一个单一的产品(没有变种)缺货,“数量”和“添加到购物车”按钮消失-这是我想要的。上面只显示“缺货”的标签。

  • 在我的WooCommerce商店中,当一个可变产品被添加到购物车时,我让用户停留在产品页面上。 成功通知消息显示了产品标题以及通用附件,但我希望它在通知中显示产品标题的变化,如: “男式外套尺寸:小”已添加到您的购物车中。 而不是: “男式外套”已添加到您的购物车中。 目前正在运行WooCommerce 3.3.1和WP 4.9。 谢啦

  • 我正在尝试将我的WooCommerce档案页面上特定产品类别的add to cart按钮更改为“Read More”按钮,该按钮将链接到产品页面(但不链接到单个产品页面本身)。 使用“将添加到购物车按钮替换为WooCommerce 3中的shop pages中的read more链接到product页面”的答案代码,如何将其限制为仅有一个产品类别(本例中术语名称为“Classs”)? 感谢任何帮助

  • 我经营一家Woocommerce商店,该商店也提供免费产品(_常规价格=0)。客户必须选择数量并将其添加到购物车中,然后下订单才能收到产品。但这并不是Woocommerce的工作原理,它隐藏了所有价格为0的产品的“添加到购物车”链接。并且不会在购物车页面中显示它们。有没有解决这个问题的办法?非常感谢。