Для того чтобы сделать REST API запрос для чтения произвольных полей постов в WordPress, необходимо использовать маршруты REST API и функционал работы с метаполями (custom fields). Ниже представлен пример кода на PHP, который позволяет получить произвольное поле поста по его идентификатору:
// Добавляем обработчик для REST API запроса add_action('rest_api_init', function () { register_rest_route('custom/v1', '/post-meta/(?P<id>d+)', array( 'methods' => 'GET', 'callback' => 'get_custom_field_data', )); }); // Функция для обработки REST API запроса и получения произвольного поля поста function get_custom_field_data($request) { $post_id = $request['id']; // Получаем произвольное поле поста $custom_field_value = get_post_meta($post_id, 'custom_field_name', true); // Дополнительная проверка, чтобы убедиться, что результат не пустой if (empty($custom_field_value)) { return new WP_Error('no_data', 'No custom field data found for the post', array('status' => 404)); } return $custom_field_value; }
В данном примере мы создали маршрут /custom/v1/post-meta/{id}
для REST API, где {id}
- это идентификатор поста. При обращении к этому маршруту будет вызываться обработчик get_custom_field_data
, который получает значение произвольного поля поста с именем custom_field_name
.
Не забудьте заменить custom_field_name
на имя своего произвольного поля, а также адаптировать код под ваши нужды, если необходимо получить несколько полей или добавить дополнительную логику.
Теперь, чтобы получить произвольное поле поста, вам нужно отправить GET запрос на /wp-json/custom/v1/post-meta/{id}
, где {id}
- идентификатор поста, данные будут возвращены в формате JSON.