gpt4 book ai didi

php - 扩展 woocommerce rest api

转载 作者:行者123 更新时间:2023-12-03 22:11:09 30 4
gpt4 key购买 nike

我想扩展 woocommerce rest api 以包含其“预订”扩展插件的数据。目前这个扩展没有由 rest api 提供的默认端点。

到目前为止,我已经创建了一个插件,并添加了以下代码;

add_filter( 'woocommerce_rest_prepare_product', 'custom_data');

function custom_data($response, $object) {
if( empty( $response->data ) )
return $response;

$response->data['meta_data'] = get_post_meta( $object[ID], 'availability', true);
return $response;
}

当我调用终点 /products只有 woocommerce 概述的默认数据仍被称为我的小插件,无处可寻。

我什至不知道在哪里可以找到上面的过滤器,因为我刚刚在网页上看到了这个,我试图让它做我想做的事,也不知道这是否是正确的方向。网页: https://francescocarlucci.com/woocommerce/woocommerce-api-custom-data-default-endpoints/#more-96

以上是我试图扩展 api,但我也决定尝试制作一个自定义端点,看看是否能得到我想要的结果,但到目前为止,我刚刚制作了一个调用但我不知道要写什么来检索的端点我想要的数据。

自定义端点代码:
function register_custom_route() {
register_rest_route( 'ce/v1', '/bookable',
array(
'methods' => 'GET',
'callback' => 'get_bookable'
)
);
}


function get_bookable( ) {
return array( 'custom' => 'woocommerce here' );
//What code do I write here :(

}

无论如何我可以在上述方法之一下实现我想要的吗?
我对开发人员很陌生,而且我熟悉 javascript 而不是 PHP,因此我需要使用其余的 api,因为我想使用 wordpress/woocommerce 作为 headless cms。

到目前为止,我遇到的壁橱示例已在此问题 Creating WooCommerce Custom API 上显示。

最佳答案

或者,您可以尝试以下代码来扩展 WooCommerce REST API 的产品响应,而无需额外执行,因为您上面的钩子(Hook)“woocommerce_rest_prepare_product”适用于 v1 但目前是 v3 所以最新的钩子(Hook)在一个下面(下面的钩子(Hook)来自于 v3 扩展的 rest api 的 v2 Controller )。

add_filter('woocommerce_rest_prepare_product_object', 'so54387226_custom_data', 10, 3);

function so54387226_custom_data($response, $object, $request) {
if (empty($response->data))
return $response;
$id = $object->get_id(); //it will fetch product id
$response->data['booking_meta_data'] = get_post_meta($id, 'availability', true);
return $response;
}

我测试了上面的代码,它工作得很好。希望它对寻找类似解决方案的人有所帮助。

关于php - 扩展 woocommerce rest api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54387226/

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