Tim*_*sen 5 php wordpress woocommerce woocommerce-rest-api
有没有一种方法可以以/wp-json/wc/v3/products无损方式扩展woocommerce rest api中的products-object ,因此使用该端点的插件不会损坏。
我目前已经尝试创建自己的剩余端点来复制对象,但是现在缺少大量数据。
我也尝试过类似的方法,但是它似乎没有用。
add_filter( 'woocommerce_rest_prepare_product', 'wc_rest_api_add_custom_data_to_product', 90, 2 );
function wc_rest_api_add_custom_data_to_product( $response, $post ) {
// retrieve a custom field and add it to API response
$response->data['your_new_key'] = get_post_meta( $post->ID, '_your_custom_filed_key', true );
return $response;
}
Run Code Online (Sandbox Code Playgroud)
资料来源:https : //francescocarlucci.com/woocommerce/woocommerce-api-custom-data-default-endpoints/
在这方面的任何帮助将不胜感激。
我找到了一种使用 register_rest_field 扩展端点的方法。
\n这样我就可以扩展(添加)和覆盖(更新)对象。
\nfunction register_images_field() {\n register_rest_field(\n \'product\',\n \'images\',\n array(\n \'get_callback\' => function ( $object ) {\n $medium_large = wp_get_attachment_image_src( get_post_thumbnail_id( $object[\'id\'] ), \'medium_large\' );\n $medium_large_url = $medium_large[\'0\'];\n $large = wp_get_attachment_image_src( get_post_thumbnail_id( $object[\'id\'] ), \'large\' );\n $large_url = $large[\'0\'];\n\xe2\x80\x8b\n return array(\n \'medium_large\' => $medium_large_url,\n \'large\' => $large_url,\n );\n },\n \'update_callback\' => null,\n \'schema\' => null,\n )\n );\n }\nRun Code Online (Sandbox Code Playgroud)\n来源: https: //developer.wordpress.org/reference/functions/register_rest_field/
\n