错误 Woocommerce REST API 扩展订单“line_items";回复 [英] Error Woocommerce REST API extending Orders "line_items" response

查看:45
本文介绍了错误 Woocommerce REST API 扩展订单“line_items";回复的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

其他有用的链接:

代码

function get_product_order_image( $response, $object, $request ) {如果(空($响应->数据))返回 $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;返回 $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 代码更改已回滚.请修复并再次尝试保存.

未捕获的错误:在 wp-content/themes/store-child/functions.php:336 中不在对象上下文中时使用 $this堆栈跟踪:#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 );

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

I am trying to create a new value to line_items in the Orders endpoint, but it shows an error that I don't know how to solve!

The code is from: Woocommerce REST API extending order response

Other helpful links:

The code

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 );

The Error:

Your PHP code changes were rolled back due to an error on line 336 of file wp-content/themes/store-child/functions.php. Please fix and try saving again.

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

Thanks!!

解决方案

If the function needs to be added to your theme's functions.php and not inside a class, try replacing:

add_filter( "woocommerce_rest_prepare_shop_order_object", array( $this, "get_product_order_image"), 10, 3 );

with:

add_filter( "woocommerce_rest_prepare_shop_order_object", "get_product_order_image", 10, 3 );

It should resolve the error you posted.

这篇关于错误 Woocommerce REST API 扩展订单“line_items";回复的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆