根据WooCommerce单个产品中的重量替换添加到购物车按钮

CBRA设计师

我在woocommerce上有条件地搜索了替换添加到购物车按钮。我有一个代码,并且已根据需要对其进行了修改。它在商店页面上完美运行。

这是我的代码:

add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_default_button', 10, 2 );
function replace_default_button( $button, $product ){
    global $product;
    $weight = $product->get_weight();
    preg_replace('/\D/', '', $weight);
    if ( $product->has_weight() && ($weight > '8') ){
        $button = '<a href="#" class="button alt">' . __( "Add to Quote", "woocommerce" ) . '</a>';
    }
    return $button;
}

但是对于单个产品页面,我也需要类似的代码。我该怎么办?有什么帮助吗?

LoicTheAztec

首先,您可以将代码简化如下:

add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_default_button', 10, 2 );
function replace_default_button( $button, $product ){

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

    if ( $weight > 8 ){
        $button = '<a href="#" class="button alt">' . __( "Add to Quote", "woocommerce" ) . '</a>';
    }
    return $button;
}

然后,要使单个产品页面具有类似内容,请使用以下命令:

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 > 8 ) {

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

function add_to_quote_replacement_button(){
    echo '<a href="#" class="button alt">' . __( "Add to Quote", "woocommerce" ) . '</a>';
}

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试和工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Woocommerce使用单个“添加到购物车”按钮将产品分组

来自分类Dev

根据WooCommerce产品自定义库存状态禁用添加到购物车按钮

来自分类Dev

根据WooCommerce产品类型更改添加到购物车按钮和文本

来自分类Dev

根据 Woocommerce 中的自定义字段替换特定产品的 ajax 添加到购物车

来自分类Dev

添加到购物车按钮未在购物车中添加产品

来自分类Dev

添加到购物车按钮未在购物车中添加产品

来自分类Dev

如何从 WooCommerce 中的相关产品中删除添加到购物车按钮?

来自分类Dev

替换WooCommerce中未登录用户的添加到购物车按钮

来自分类Dev

根据 Woocommerce 中的 IP 地址(地理位置)更改添加到购物车按钮

来自分类Dev

根据产品类型,WooCommerce的“添加到购物车”按钮旁边的“自定义”按钮

来自分类Dev

根据产品类型,WooCommerce的“添加到购物车”按钮旁边的“自定义”按钮

来自分类Dev

如何在woocommerce单个产品页面中使用javascript禁用添加到购物车按钮?

来自分类Dev

WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

来自分类Dev

WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

来自分类Dev

如果购物车中该产品的数量超过10,则禁用该产品添加到购物车按钮

来自分类Dev

如果购物车中该产品的数量超过10,则禁用该产品添加到购物车按钮

来自分类Dev

单击 woocommerce 中的添加到购物车按钮,在每个产品中添加 10% 的额外金额

来自分类Dev

将产品添加到购物车WooCommerce?

来自分类Dev

将产品添加到购物车WooCommerce?

来自分类Dev

在 Woocommerce 单个产品的“添加到购物车”下方显示特定的运输类别

来自分类Dev

根据范围条件自动将产品添加到 WooCommerce 购物车

来自分类Dev

Woocommerce:如果当前产品在购物车中,则将Body类添加到产品页面

来自分类Dev

Laravel将具有相同产品的购物车按钮添加到+1数量的购物车中

来自分类Dev

Woocommerce隐藏添加到购物车按钮,可变产品除外

来自分类Dev

Woocommerce隐藏添加到购物车按钮,可变产品除外

来自分类Dev

Woocommerce隐藏添加到购物车按钮,可变产品除外

来自分类Dev

删除“添加到购物车”按钮而不删除 Woocommerce 产品附加组件

来自分类Dev

Woocommerce - 当用户是产品作者时删除添加到购物车按钮

来自分类Dev

其他 Woocommerce 产品添加到购物车按钮重定向到结帐

Related 相关文章

  1. 1

    Woocommerce使用单个“添加到购物车”按钮将产品分组

  2. 2

    根据WooCommerce产品自定义库存状态禁用添加到购物车按钮

  3. 3

    根据WooCommerce产品类型更改添加到购物车按钮和文本

  4. 4

    根据 Woocommerce 中的自定义字段替换特定产品的 ajax 添加到购物车

  5. 5

    添加到购物车按钮未在购物车中添加产品

  6. 6

    添加到购物车按钮未在购物车中添加产品

  7. 7

    如何从 WooCommerce 中的相关产品中删除添加到购物车按钮?

  8. 8

    替换WooCommerce中未登录用户的添加到购物车按钮

  9. 9

    根据 Woocommerce 中的 IP 地址(地理位置)更改添加到购物车按钮

  10. 10

    根据产品类型,WooCommerce的“添加到购物车”按钮旁边的“自定义”按钮

  11. 11

    根据产品类型,WooCommerce的“添加到购物车”按钮旁边的“自定义”按钮

  12. 12

    如何在woocommerce单个产品页面中使用javascript禁用添加到购物车按钮?

  13. 13

    WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

  14. 14

    WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

  15. 15

    如果购物车中该产品的数量超过10,则禁用该产品添加到购物车按钮

  16. 16

    如果购物车中该产品的数量超过10,则禁用该产品添加到购物车按钮

  17. 17

    单击 woocommerce 中的添加到购物车按钮,在每个产品中添加 10% 的额外金额

  18. 18

    将产品添加到购物车WooCommerce?

  19. 19

    将产品添加到购物车WooCommerce?

  20. 20

    在 Woocommerce 单个产品的“添加到购物车”下方显示特定的运输类别

  21. 21

    根据范围条件自动将产品添加到 WooCommerce 购物车

  22. 22

    Woocommerce:如果当前产品在购物车中,则将Body类添加到产品页面

  23. 23

    Laravel将具有相同产品的购物车按钮添加到+1数量的购物车中

  24. 24

    Woocommerce隐藏添加到购物车按钮,可变产品除外

  25. 25

    Woocommerce隐藏添加到购物车按钮,可变产品除外

  26. 26

    Woocommerce隐藏添加到购物车按钮,可变产品除外

  27. 27

    删除“添加到购物车”按钮而不删除 Woocommerce 产品附加组件

  28. 28

    Woocommerce - 当用户是产品作者时删除添加到购物车按钮

  29. 29

    其他 Woocommerce 产品添加到购物车按钮重定向到结帐

热门标签

归档