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

WooCommerce重定向“添加到购物车”以结帐特定产品类型

汪驰
2023-03-14

在Woocommerce中,我需要在添加产品时跳过购物车页面,并直接重定向到仅限订阅产品类型的签出。

我在其他地方找到了下面的代码,它适用于跳过基于产品ID的购物车页面,但是我不能正确地使用产品类型(请参阅下面我尝试的内容)。

function woocommerce_skip_cart() {
global $woocommerce;
$product_id = (int) apply_filters( 'woocommerce_add_to_cart_product_id', $_POST['add-to-cart'] );

if ( $product_id == 31 || $product_id == 31 ) {
    $checkout_url = WC()->cart->get_checkout_url();
    return $checkout_url;
}
}
add_filter ('woocommerce_add_to_cart_redirect', 'woocommerce_skip_cart');

我尝试的:(它破坏了整个网站:变成了一个blanc页面)

function woocommerce_skip_cart() {
global $woocommerce;
$product_id = (int) apply_filters( 'woocommerce_add_to_cart_product_id', $_POST['add-to-cart'] );
$product = wc_get_product( $product_id );
  

if ( $product->is_type( 'subscription' ) ){
    $checkout_url = WC()->cart->get_checkout_url();
    return $checkout_url;
}
}
add_filter ('woocommerce_add_to_cart_redirect', 'woocommerce_skip_cart');

有没有办法做到这一点?

共有1个答案

计光赫
2023-03-14

我修改了你的密码。请尝试下面的代码。

function woocommerce_skip_cart( $url ) {
    $product_id = (int) apply_filters( 'woocommerce_add_to_cart_product_id', $_POST['add-to-cart'] );
    if( $product_id ){
        $product = wc_get_product( $product_id );
        if ( $product->is_type( 'subscription' ) || $product->is_type( 'variable-subscription' ) ){
            $checkout_url = WC()->cart->get_checkout_url();
            return $checkout_url;
        }
    }
    return $url;
}
add_filter ('woocommerce_add_to_cart_redirect', 'woocommerce_skip_cart');
 类似资料:
  • 我使用WooCommerce Wordpress中的以下代码,通过一个模板,使用add_to_cart($product_id)功能添加了许多产品。 现在,我希望通过此模板为每个产品添加自定义价格。现在购物车中的价格和数据库中的价格一样,但我想通过这一点添加我的自定义价格。有人能帮我做同样的事吗。谢谢

  • 我使用woocommerce插件创建了一个电子商务。我只出售订阅,因此“/cart/”页面没有用处。我试图摆脱它,这样当我的客户点击“添加到购物车”按钮时,他就会出现在结帐页面上。

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

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

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

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