php - Woocommerce ID 调用不正确
问题描述
我为 woocommerce 使用插件 IWD,这是我收到的一致错误。寻求有关如何解决此问题的帮助?我对代码很陌生,并试图理解它。但这超出了我的知识水平。
[2020 年 7 月 29 日星期三 19:36:02.765466] [php7:notice] [pid 31401] [client 101.161.102.84:53742] id 调用不正确。不应直接访问产品属性。回溯:require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX:: do_wc_ajax, do_action('wc_ajax_iwd_opc_update_order_review'), WP_Hook->do_action, WP_Hook->apply_filters, IWD_OPC_AJAX::iwd_opc_update_order_review, woocommerce_order_review, wc_get_template, include('/plugins/iwd-woocommerce-checkout-suite/public/templates/commerce review-order.php'),WC_Abstract_Legacy_Product->__get,wc_doing_it_wrong。3.0版本增加了这条消息,referer:https://
解决方案
在 WC 3.0 中,更新为大多数公共变量添加了 getter/setters 方法(hello OOP),但由于向后兼容,它们保持公共状态。将来它会变成私有/受保护的,我想如果没有额外的权限检查,它将成为致命错误,而不是警告。所以如果在我们之前
$product = wc_get_product($id); // Instance of WC_Product
echo $product->id; // wrong
echo $product->get_id(); // nice
由于您的日志,您正在使用 wd-woocommerce-checkout-suite 插件,上次更新是一年多以前,所以您的选择
- 更新
iwd-woocommerce-checkout-suite/public/templates/woocommerce/checkout/review-order.php
,第 30 行,从$_product->id
到$_product->get_id()
- 选择另一个插件
推荐阅读
- android - 我将 itextpdf 用于 pdf,但这里的页眉和页脚与主要内容重叠
- java - WebSocketException:无法获取原始套接字的输入流:握手失败
- ios - 如何增加 MDCTextInputControllerOutlinedTextArea 的高度
- python - LSTM 序列长度
- android - Android Studio 设备列表卡在加载中
- python - 使用 pip 在 python 上设置 jupyter notebook 窗口时出错
- swift - CoreData 多线程正在生成随机崩溃
- vba - VBA检查两列中的单元格值
- sql - SQL存储过程重复记录
- php - Symfony 3 处理多个数据库