如何解决错误 Woocommerce REST API 扩展订单“line_items”响应
我正在尝试为 Orders 端点中的 line_items 创建一个新值,但它显示了一个我不知道如何解决的错误!
代码来自:Woocommerce REST API extending order response
其他有用的链接:
-
https://developer.wordpress.org/reference/functions/register_rest_field/
-
https://francescocarlucci.com/woocommerce/woocommerce-api-custom-data-default-endpoints/
-
Is it possible to extend the woocommerce products rest endpoint?
代码
function get_product_order_image( $response,$object,$request ) {
if( empty( $response->data ) )
return $response;
$order_pid= $response->data['line_items'][0]['product_id'];
$l_w_product_meta = get_post_meta($response->data['line_items'][0]['product_id']);
$order_imgUrl= wp_get_attachment_url( $l_w_product_meta['_thumbnail_id'][0],'full' );
$response->data['line_items'][0]['cover_image'] = $order_imgUrl;
return $response;
}
add_filter( "woocommerce_rest_prepare_shop_order_object",array( $this,"get_product_order_image"),10,3 );
错误:
由于文件 wp-content/themes/store-child/functions.php 的第 336 行错误,您的 PHP 代码更改已回滚。请修复并再次尝试保存。
Uncaught Error: Using $this when not in object context in wp-content/themes/store-child/functions.php:336
Stack trace:
#0 wp-settings.php(528): include()
#1 wp-config.php(89): require_once('/kunden/631823_...')
#2 wp-load.php(37): require_once('/kunden/631823_...')
#3 wp-admin/admin.php(34): require_once('/kunden/631823_...')
#4 wp-admin/theme-editor.php(10
谢谢!!
解决方法
如果函数需要添加到主题的functions.php而不是在类中,请尝试替换:
add_filter( "woocommerce_rest_prepare_shop_order_object",array( $this,"get_product_order_image"),10,3 );
与:
add_filter( "woocommerce_rest_prepare_shop_order_object","get_product_order_image",3 );
它应该可以解决您发布的错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。