【发布时间】:2020-11-05 02:13:24
【问题描述】:
在 WooCommerce 上,我正在尝试获取产品的变体名称。 但我收到消息错误:调用未定义的函数 wc_get_product()。 这是代码:(此代码所在的文件来自向服务器发出请求的应用程序,因此它不在根目录中)。
$order_items = $order_data->line_items;
foreach ($order_items as $order_item) {
if ($order_item->product_id == $product_id) {
// Get variation if any
$variation_id = $order_item->variation_id;
$variation_name = wc_get_product($variation_id);
$variation_name->get_formatted_name();
if (empty($variation_id)) $variation_id = 0;
$variation_prop = $product['variations'][$variation_id];
}
}
感谢任何帮助。
编辑 2: $order_data 是这样得到的:
try {
$woocommerce = new Client($f3->get('wprestbaseurl'), $f3->get('wprestconsumer_key'), $f3->get('wpconsumer_secret'), ['wp_api' => true, 'version' => 'wc/v3', 'query_string_auth' => (0 === strpos(strtolower($f3->get('wprestbaseurl')), 'https://'))]);
// Retrieve given order meta data
// System IDs are stored into the "xlspadlock_activations" custom field for each order.
$order_data = $woocommerce->get("orders/$customer_order_id");
}
catch{....
【问题讨论】:
-
我完全理解@LoicTheAztec 这不是最好的帮助方式。但由于代码不是我的,我对发布有一些限制。但我恳请您的帮助!我将主帖编辑到 EDIT 2:,我在其中展示了 $order_data 是如何获得的。
-
您似乎在外部文件上使用了一些 Rest API,WooCommerce 类和方法无法工作,如果您尝试使用它们会抛出错误。
-
我不能直接从“wp-content\plugins\woocommerce\includes”调用它们,使用一些 url 路径?你看到替代品了吗? ;)
-
我对 REST API 不够熟练,所以目前我对你没有任何线索。
-
我知道这是一个具体的问题。感谢您的时间!我等着有人帮忙。
标签: php wordpress woocommerce orders product-variations