WooCommerce为特定产品ID添加到购物车的自定义重定向

潘杜森

我试图连接到“添加到购物车”重定向,更改特定产品ID的URL作为起点,我发现了以下代码(来源:https//jeroensormani.com/redirect-users-after-add-购物车/

   function my_custom_add_to_cart_redirect( $url ) {
    
    if ( ! isset( $_REQUEST['add-to-cart'] ) || ! is_numeric( $_REQUEST['add-to-cart'] ) ) {
        return $url;
    }
    
    $product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint( $_REQUEST['add-to-cart'] ) );
    
    // Only redirect the product IDs in the array to the checkout
    if ( in_array( $product_id, array( 1, 16, 24) ) ) {
            $url = "https://mywebsite.com/";
        }
        
        return $url;
    
    }
    add_filter( 'woocommerce_add_to_cart_redirect', 'my_custom_add_to_cart_redirect' );

这似乎得到了别人的认可。对我来说,当对它应用条件时,似乎忽略了重定向注入。当条件被排除在外时,它将起作用:

function my_custom_add_to_cart_redirect( $url ) {
    $url = "https://mywebsite.com/";
    return $url;
}
add_filter( 'woocommerce_add_to_cart_redirect', 'my_custom_add_to_cart_redirect' );

我的结论/猜测是,条件或过滤器中有些东西已经过时,但是我无法弄清楚出了什么问题。我已经研究了基于woocommerce_add_to_cart_redirect钩子的其他模拟器代码,并尝试了无数片段和功能组合,但是无论何时将条件应用到其中,我都无法使它们起作用。

[编辑]现在,我考虑了一下,这很可能是一个查询问题。但是不太确定该怎么做。

任何帮助将不胜感激。

LoicTheAztec

首先,woocommerce_add_to_cart_redirect过滤器挂钩有2个可用参数所以是的,您找到的代码有些过时了。

对于每个人,如果已启用WooCommerce设置>产品(选项卡)上的“添加成功后重定向到购物车页面”选项,则此钩子有效

现在,WooCommerce中有2种添加到购物车:

  • Ajax添加到购物车,
  • 普通添加到购物车。

该挂钩woocommerce_add_to_cart_redirect仅适用于普通添加到购物车以定位特定产品,因为您无法使用Ajax添加到购物车进行重定向来处理产品ID (请参阅下文)

对于Ajax添加到购物车 ,钩子的定义如下:

'cart_url' => apply_filters( 'woocommerce_add_to_cart_redirect', wc_get_cart_url(), null ),

其中第二个参数设置为null


对于“普通添加到购物车” ,挂钩在此处定义如下:

$url = apply_filters( 'woocommerce_add_to_cart_redirect', $url, $adding_to_cart );

其中$adding_to_cart (第二个参数)此处定义的产品对象例如:

$adding_to_cart = wc_get_product( $product_id );

这是正常添加到购物车中处理特定产品ID自定义重定向的正常工作代码的正确示例

add_filter( 'woocommerce_add_to_cart_redirect', 'custom_add_to_cart_redirect', 10, 2 );
function custom_add_to_cart_redirect( $redirect_url, $product ) {
    $product_ids = array( 37, 22, 53, 40 ); // Here set your product Ids in the array

    // Only redirect the product IDs in the array to the checkout
    if ( is_object($product) && in_array( $product->get_id(), $product_ids ) ) {
        $redirect_url = wc_get_checkout_url();
    }

    return $redirect_url;
}

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试,可以正常添加到购物车。

为了处理Ajax,将购物车重定向特定产品的自定义网址,需要一些jQuery代码…

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

自定义 WooCoomerce 产品页面,添加到购物车按钮重定向到产品页面

来自分类Dev

如何在WooCommerce中重定向到自定义添加到购物车按钮上的结帐

来自分类Dev

自定义特定 WooCommerce 产品类别上的“添加到购物车”按钮

来自分类Dev

WooCommerce自定义产品类型-多个添加到购物车部分的问题

来自分类Dev

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

来自分类Dev

WooCommerce自定义产品类型-多个添加到购物车部分的问题

来自分类Dev

Woocommerce 产品添加到购物车自定义数据 img

来自分类Dev

根据用户国家和产品 ID 自定义添加到购物车按钮

来自分类Dev

在添加到购物车中的特定产品之前,先清空购物车

来自分类Dev

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

来自分类Dev

WooCommerce:为特定页面添加一个使用WordPress自定义字段添加到购物车旁边的自定义按钮

来自分类Dev

WooCommerce添加到购物车,从自定义选择字段中添加第二个产品

来自分类Dev

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

来自分类Dev

通过WooCommerce产品设置中的自定义复选框禁用添加到购物车按钮

来自分类Dev

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

来自分类Dev

设置自定义添加到购物车默认数量(Woocommerce 购物车页面除外)

来自分类Dev

将多个自定义数据数组添加到WooCommerce自定义Ajax上的购物车项目中添加到购物车

来自分类Dev

WooCommerce-为购物车中的每个产品添加自定义价格

来自分类Dev

使用Wordpress woocommerce创建自定义“添加到购物车”

来自分类Dev

WooCommerce自定义PHP代码更改添加到购物车按钮文本

来自分类Dev

特定产品在购物车中的自定义数量

来自分类Dev

WooCommerce:更改多个产品的“添加到购物车”按钮文本,并重定向到结帐

来自分类Dev

WooCommerce自定义Ajax添加到购物车:如何设置自定义价格?

来自分类Dev

扩展“添加到购物车”功能以在Sylius的自定义表中添加产品变体

来自分类Dev

验证“单个产品”页面中“添加到购物车”上方添加的自定义字段

来自分类Dev

如果购物车包含特定的Woocommerce产品类别,请阻止添加到购物车

来自分类常见问题

如果产品在购物车中,请更改“添加到购物车”按钮文本,并在WooCommerce中满足条件时重定向到购物车页面

来自分类Dev

将产品添加到购物车WooCommerce?

Related 相关文章

  1. 1

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

  2. 2

    自定义 WooCoomerce 产品页面,添加到购物车按钮重定向到产品页面

  3. 3

    如何在WooCommerce中重定向到自定义添加到购物车按钮上的结帐

  4. 4

    自定义特定 WooCommerce 产品类别上的“添加到购物车”按钮

  5. 5

    WooCommerce自定义产品类型-多个添加到购物车部分的问题

  6. 6

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

  7. 7

    WooCommerce自定义产品类型-多个添加到购物车部分的问题

  8. 8

    Woocommerce 产品添加到购物车自定义数据 img

  9. 9

    根据用户国家和产品 ID 自定义添加到购物车按钮

  10. 10

    在添加到购物车中的特定产品之前,先清空购物车

  11. 11

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

  12. 12

    WooCommerce:为特定页面添加一个使用WordPress自定义字段添加到购物车旁边的自定义按钮

  13. 13

    WooCommerce添加到购物车,从自定义选择字段中添加第二个产品

  14. 14

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

  15. 15

    通过WooCommerce产品设置中的自定义复选框禁用添加到购物车按钮

  16. 16

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

  17. 17

    设置自定义添加到购物车默认数量(Woocommerce 购物车页面除外)

  18. 18

    将多个自定义数据数组添加到WooCommerce自定义Ajax上的购物车项目中添加到购物车

  19. 19

    WooCommerce-为购物车中的每个产品添加自定义价格

  20. 20

    使用Wordpress woocommerce创建自定义“添加到购物车”

  21. 21

    WooCommerce自定义PHP代码更改添加到购物车按钮文本

  22. 22

    特定产品在购物车中的自定义数量

  23. 23

    WooCommerce:更改多个产品的“添加到购物车”按钮文本,并重定向到结帐

  24. 24

    WooCommerce自定义Ajax添加到购物车:如何设置自定义价格?

  25. 25

    扩展“添加到购物车”功能以在Sylius的自定义表中添加产品变体

  26. 26

    验证“单个产品”页面中“添加到购物车”上方添加的自定义字段

  27. 27

    如果购物车包含特定的Woocommerce产品类别,请阻止添加到购物车

  28. 28

    如果产品在购物车中,请更改“添加到购物车”按钮文本,并在WooCommerce中满足条件时重定向到购物车页面

  29. 29

    将产品添加到购物车WooCommerce?

热门标签

归档