Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress Woocommerce直接签出订阅_Wordpress_Woocommerce - Fatal编程技术网

Wordpress Woocommerce直接签出订阅

Wordpress Woocommerce直接签出订阅,wordpress,woocommerce,Wordpress,Woocommerce,我知道可以通过在结帐端点添加“add to car=product_id”将客户直接发送到结帐页面,如下所示: yourwebsite.com/checkout/?add-to-cart=12345 我想知道当一个产品有订阅选项时,这是否也是一种同样的方式?我使用Woocommerce订阅插件来管理订阅,它不会为订阅产品创建单独的变体。基于这些答案: 您可以创建一个PHP脚本,在将产品添加到购物车后更改重定向url(通过检查产品类类型) 此外,使用woocommerce\u add\u

我知道可以通过在结帐端点添加“add to car=product_id”将客户直接发送到结帐页面,如下所示:

yourwebsite.com/checkout/?add-to-cart=12345

我想知道当一个产品有订阅选项时,这是否也是一种同样的方式?我使用Woocommerce订阅插件来管理订阅,它不会为订阅产品创建单独的变体。

基于这些答案:

您可以创建一个PHP脚本,在将产品添加到购物车后更改重定向url(通过检查产品类类型)

此外,使用
woocommerce\u add\u to\u cart\u redirect
钩子,您有两个参数:
$url
$adding\u to\u cart
(产品对象)。您可以找到文档

然后:

必须将代码添加到活动主题的functions.php文件中

// redirects to checkout if the product added to the cart is a subscription
add_filter( 'woocommerce_add_to_cart_redirect', 'redirect_to_checkout_if_product_is_subscription' );
function redirect_to_checkout_if_product_is_subscription( $url, $product ) {
    if ( class_exists( 'WC_Subscriptions_Product' ) && WC_Subscriptions_Product::is_subscription( $product ) ) {
        global $woocommerce;
        $checkout_url = $woocommerce->cart->get_checkout_url();
        return $checkout_url;
    }
    return $url;
}