Событие rest_api_init не запущено
Я пытаюсь запустить пользовательский плагин на wp 4.7.4. Ниже мой простой плагин
add_action( 'rest_api_init', 'register_routes');
function register_routes() {
register_rest_route( 'taxonomy-manager/v1', '/taxonomies/(P<taxonomy_type>[a-zA-Z]+)', array(
'methods' => 'GET',
'callback' => 'get_or_insert'
) );
}
function get_or_insert( WP_REST_Request $request ) {
$parameters = $request->get_params();
return $parameters;
}
Когда я запрашиваю конечную точку wp-json
, я не вижу маршрута плагина. Плагин был успешно активирован. Я что-то пропустил? Плагин (или аналогичный, основанный на событии rest_api_init
) работает для кого-либо еще? Спасибо.
Ответы
Ответ 1
См. ниже контрольный список,
1. Измените свою постоянную ссылку как симпатичную постоянную ссылку и проверьте.
2. Проверьте файл .htacess(он должен быть доступен для записи, если вы сохраните структуру постоянной ссылки, которую перезаписываете wp).
3. Проверьте Auth.
4. Проверьте ниже способ создания пользовательской конечной точки,
add_action( 'rest_api_init', function () {
register_rest_route( 'myplugin/v1', '/author/(?P<id>\d+)', array(
'methods' => 'GET',
'callback' => 'my_awesome_func',
) );
} );
REF: https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/
Ответ 2
Используя последнюю сборку, я не вижу, как срабатывает действие rest_api_init. Похоже, что этот код в файле plugin.php всегда пуст и возвращается, не позволяя активировать действие rest_api_init:
if ( empty( $GLOBALS['wp']->query_vars['rest_route'] ) ) {
return;
}