Woocommerce WC_Cart->fees 和 WC_Cart::get_checkout_url 已弃用

Posted

技术标签:

【中文标题】Woocommerce WC_Cart->fees 和 WC_Cart::get_checkout_url 已弃用【英文标题】:Woocommerce WC_Cart->fees and WC_Cart::get_checkout_url are deprecated 【发布时间】:2018-04-04 19:58:57 【问题描述】:

我想知道在我更新插件后我的 Woocommerce 发生了什么事情。发生一些弃用错误。请参阅下面的附图。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

1) 您需要将 WC_Cart::get_checkout_url 替换为 wc_get_checkout_url(),而不使用 WC()->cart(或 WC_Cart::),因为它不再是 WC_Cart 方法。

2) 对于WC_Cart->fees,您可以将其替换为WC_Cart->get_fees()WC()->cart->get_fees();

【讨论】:

嗨@LoicTheAztec,我尝试使用这个作为解决方案,define('WP_DEBUG', false);怎么样? 嗯,是的。谢谢。但还有一件事,我需要找到那些使用这些函数的类。我在哪里可以找到这些? 这是问题所在,因为 WordPress 和 Woocommerce 已经在其最新版本中运行。我读过一些文章,可能是因为一些日志尚未删除,这会触发类似的事情。有可能吗? 好的。我会尝试找到你的建议。非常感谢您的帮助!【参考方案2】:

在源码https://docs.woocommerce.com/wc-apidocs/source-class-WC_Cart.html#636-645的页面可以看到

   /**
     * Gets the url to the cart page.
     *
     * @deprecated 2.5.0 in favor to wc_get_cart_url()
     *
     * @return string url to page
     */
    public function get_cart_url() 
        return wc_get_cart_url();
    

使用 wc_get_cart_url()。

【讨论】:

以上是关于Woocommerce WC_Cart->fees 和 WC_Cart::get_checkout_url 已弃用的主要内容,如果未能解决你的问题,请参考以下文章

可捕获的致命错误:WC_Cart 类的对象无法转换为字符串

通过谷歌标签管理器或通过PHP自定义像素Woocommerce集成

如果在Woocommerce上的URL中手动更改订单键,则显示错误

结帐后,woocommerce获取订单详情

在 Woocommerce 中显示链接的产品属性术语名称

使用 phpmyadmin 在 Woocommerce 中按产品变化报告特定产品