gpt4 book ai didi

wordpress - Woocommerce REST API 扩展订单响应

转载 作者:行者123 更新时间:2023-12-04 11:11:45 25 4
gpt4 key购买 nike

我正在寻找一种扩展 wc-api/vX/orders/响应的方法。我在结账时添加了多个自定义字段(例如:关系编号、交货日期等)。这些元数据保存在订单中(wp_postmeta 表)。但是为什么它们没有与 api 一起返回?

通常,您可以使用一些代码来扩展 api 响应,例如:

add_action( 'rest_api_init', 'custom_register_api_fields' );

function custom_register_api_fields() {
register_rest_field( 'shop_order','relation_number',
array(
'get_callback' => 'custom_api_meta_callback',
'update_callback' => null,
'schema' => null,
)
);
}

/**
*
* @param array $object Details of current post.
* @param string $field_name Name of field.
* @param WP_REST_Request $request Current request
*
* @return mixed
*/

function custom_api_meta_callback( $object, $field_name, $request ) {
return get_post_meta( $object[ 'id' ], $field_name, true );
}

但是当我测试响应(使用 Postman 和 php lib)时,my-website.co/wc-api/v2/orders 自定义元不可见。

有没有办法为 wc-api 注册 api 字段?

天啊!

最佳答案

我有同样的要求,在订单响应中为“line_items”添加新值
我正在使用 wc api v2
https://website.com/wp-json/wc/v2/orders

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 );
结果
cover image added to line item result
我希望这会在将来对某人有所帮助。

关于wordpress - Woocommerce REST API 扩展订单响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40802219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com