在 WooCommerce 中,我想在购物车页面为空时将购物车页面重定向到商店页面,否则会显示购物车页面。谁能有解决方案?
这是我尝试过的代码,但它不起作用:
function my_empty_cart() {
global $woocommerce;
if (isset( $_GET['empty-cart'] ) ) {
wp_safe_redirect( get_permalink( woocommerce_get_page_id( 'product' ) ) );
}
}
add_action( 'init', 'my_empty_cart' );
最佳答案
2021 更新
由于 WooCommerce 版本 3 在尝试访问购物车页面并且购物车已经为空时使用以下内容重定向到商店页面:
add_action( 'template_redirect', 'empty_cart_redirect' );
function empty_cart_redirect(){
if( is_cart() && WC()->cart->is_empty() ) {
wp_safe_redirect( get_permalink( wc_get_page_id( 'shop' ) ) );
exit();
}
}
代码位于事件子主题(或事件主题)的 functions.php 文件中。测试和工作。注释 - 过时和弃用的代码:
global $woocommerce;
与 $woocommerce->cart
一起使用简单地替换为 WC()->cart
sizeof($woocommerce->cart->cart_contents) == 0
替换为简单的 WC()->cart->is_empty()
woocommerce_get_page_id()
替换为 wc_get_page_id()
删除购物车页面上的所有购物车元素时 ,要激活重定向,需要一些额外的 jQuery 代码,请参阅:Redirect to shop if cart is emptied on cart page in WooCommerce 3+
关于php - 如果购物车为空,购物车页面将重定向到 WooCommerce 中的商店页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24300052/