Я бы хотел расширить API-интерфейс woocommerce для включения данных о его плагине расширения 'booking'.В настоящее время это расширение не имеет конечных точек по умолчанию, предоставленных 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 :(
}
Можно ли в любом случае добиться того, чего я хочу, одним из перечисленных выше способов?Я довольно новичок в dev, и я знаком с javascript, а не с PHP, поэтому мне нужно использовать остальные API, поскольку я хотел бы использовать WordPress / WooCommerce в качестве безголовых CMS.
Пока к этому вопросу был приведен пример шкафов, к которым я пришел Создание пользовательского API WooCommerce