php - 如果购物车为空,购物车页面将重定向到 WooCommerce 中的商店页面?

标签 php wordpress redirect woocommerce cart

在 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/

    相关文章:

    php - 在没有 Symfony 框架包的情况下,如何使用依赖注入(inject)的 Symfony 控制台?

    PHP - 上传脚本中的神秘错误

    PHP mail() 如何设置发件人邮件

    php - 如何查找子字符串并删除周围的P标签

    输入密码后 JavaScript 简单重定向

    asp.net-mvc - 在 MVC 上的 Application_BeginRequest 中重定向

    php - 使用 F5 停止在帖子后重新提交页面

    php - 从 HTML 表更新 MySQL,每一行都有自己的形式

    wordpress - 子文件夹中的另一个 WordPress 安装

    wordpress - 将wordpress网站从一个PC主机迁移到另一台PC主机时出现404错误?