WooCommerce 添加到购物车后获取购物车

已发表: 2022-05-28

WooCommerce 添加到购物车后获取购物车 您想在单击“添加到购物车”按钮后获得购物车吗? 在今天的帖子中,我们将分享如何在将新产品添加到购物车后将用户直接重定向到购物车。

请继续阅读,因为我们还将共享自定义代码片段,用于将用户重定向到自定义页面并结帐。

此外,我们将说明如何在将某些产品、类别和运输类别添加到购物车后有条件地重定向用户。

在继续之前,创建子主题很重要。 这将确保您的更改在更新期间不会丢失。

添加到购物车后将用户重定向到购物车

添加到购物车后将用户重定向到购物车页面并不是一个复杂的过程。 这是因为 WooCommerce 带有一个内置选项,可让您在用户将新产品添加到购物车时将其直接重定向到购物车。

您可以在WooCommerce > 设置 > 产品 > 显示区域中找到该选项。

下一步是检查“添加成功后重定向到购物车页面”选项。 将产品添加到购物车后,此操作会将所有用户重定向到购物车。

重定向到购物车 请记住保存更改。

将用户重定向到自定义页面

如果您想将用户重定向到自定义登录页面,我们将使用自定义代码段将用户重定向到特定页面 ID。 您还可以设置完全自定义的 URL。

您需要做的就是以管理员身份登录 WordPress 仪表板。

从仪表板菜单中,单击外观菜单 > 主题编辑器菜单。 打开主题编辑器页面后,查找主题功能文件,我们将在其中添加将用户重定向到自定义登录页面的功能

将以下代码添加到 functions.php 文件中:

/**

* Redirect users after add to cart.

*/

function my_custom_add_to_cart_redirect( $url ) {

$url = get_permalink( 1 ); // URL to redirect to (1 is the page ID here)

return $url;

}

add_filter( 'woocommerce_add_to_cart_redirect', 'my_custom_add_to_cart_redirect' );

请记住添加正确的 URL 以使代码正常工作。

添加到购物车后重定向到结帐

或者,您可能希望将用户重定向到结帐页面。 如果是这种情况,请将以下代码添加到您的子主题的 function.php 文件中:

/**

* Redirect users after add to cart.

*/

function my_custom_add_to_cart_redirect( $url ) {

$url = WC()->cart->get_checkout_url();

// $url = wc_get_checkout_url(); // since WC 2.5.0

return $url;

}

add_filter( 'woocommerce_add_to_cart_redirect', 'my_custom_add_to_cart_redirect' );

添加到购物车后有条件地重定向用户

如果您只想在用户将特定产品添加到购物车或特定类别/运输类别的产品时将用户重定向到不同的页面,我们将分享一些您可以用来实现此目的的自定义代码片段。

但是,如果您希望条件重定向正常工作,禁用 AJAX 添加到购物车按钮很重要。 这可以通过导航到WooCommerce > Settings > Products > Display area来实现。

下一步是取消选中“ Enable AJAX add to cart buttons on archives ”选项。

启用ajax 请记住保存更改。

1.重定向某些产品

如果要重定向特定产品 ID,请在 functions.php 文件中添加以下代码:

/**

* Redirect users after add to cart.

*/

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 = WC()->cart->get_checkout_url();

}

return $url;

}

add_filter( 'woocommerce_add_to_cart_redirect', 'my_custom_add_to_cart_redirect' );

请记住添加正确的产品 ID 以使代码段正常工作。

2.重定向某些类别

如果要重定向某些类别,请在 functions.php 文件中添加以下代码:

/**

* Redirect users after add to cart.

*/

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 products that have the 't-shirts' category

if ( has_term( 't-shirts', 'product_cat', $product_id ) ) {

$url = WC()->cart->get_checkout_url();

}

return $url;

}

add_filter( 'woocommerce_add_to_cart_redirect', 'my_custom_add_to_cart_redirect' );

请记住在代码段中输入正确的类别。

3.重定向某些运输类别

如果要重定向某些运输类,请在 functions.php 文件中添加以下代码:

/**

* Redirect users after add to cart.

*/

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 products with the 'small-item' shipping class

if ( has_term( 'small-item', 'product_shipping_class', $product_id ) ) {

$url = WC()->cart->get_checkout_url();

}

return $url;

}

add_filter( 'woocommerce_add_to_cart_redirect', 'my_custom_add_to_cart_redirect' );

请记住在代码片段中添加正确的运输类别。

结论

到目前为止,我们确信您可以将用户重定向到 WooCommerce 商店中的不同页面。 在您的子主题的 functions.php 文件中添加代码片段很重要。 这可确保您的更改在更新期间不会丢失。

如果您需要任何进一步的定制,请随时与我们联系以获取定制报价。 我们希望这篇文章能帮助您了解更多关于添加到购物车后重定向用户的信息。

类似文章