错误 WooCommerce REST API 扩展订单"line_items"响应



我正试图在Orders端点中为line_items创建一个新值,但它显示了一个我不知道如何解决的错误!

代码来自:Wooccommerce REST API扩展订单响应

其他有用的链接:

  • https://developer.wordpress.org/reference/functions/register_rest_field/

  • https://francescocarlucci.com/woocommerce/woocommerce-api-custom-data-default-endpoints/

  • 是否可以扩展wooccommerce产品的rest端点?

代码

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", 10, 3 );

它应该可以解决您发布的错误

最新更新