Я пытаюсь добавить пользовательские конечные точки (пользовательская конечная точка ”означает произвольный URL-адрес, не распознаваемый WP как стандартный URL-адрес, например постоянная ссылка или около того). Я использую шаблон WordPress-плагина" https://github.com/DevinVinson/WordPress-Plugin-Boilerplate " .
Я хочу отправить запрос API на пользовательскую конечную точку. Я создаю новый файл класса для регистрации конечных точек и включаю этот файл класса в метод активации плагина и вызываю ловушку add_action, но он не работает.
Создайте новый файл class-rigal-custom-Endpoint. php в папка include.
<?php
class Rigal_custom_Endpoint {
private static $initiated = false;
public static function init() {
if ( ! self::$initiated ) {
self::init_hooks();
}
}
public static function init_hooks() {
self::$initiated = true;
add_action('init', 'add_endpoint');
}
/**
*
* @description Create a independent endpoint
*/
public static function endpoint() {
global $wp;
$endpoint_vars = $wp->query_vars;
// if endpoint
if ($wp->request == 'exercise/test') {
// Your own function to process endpoint
exit;
}
}
}
После того, как я включил этот файл класса в метод активации плагина. (class-rigal-plugin-activator. php)
public static function activate() {
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-rigal-custom-endpoint.php';
add_action( 'init', array( 'Rigal_custom_Endpoint', 'init' ) );
add_action( 'parse_request', array( 'Rigal_custom_Endpoint', 'endpoint' ) , 0);
}
Когда я активирую плагин и добавляю «упражнение / тест» в URL, но он не работает. Не могли бы вы предложить решение для устранения вышеуказанной проблемы?
Среда PHP: 7.4 Wordpress: 5.4 ОС: Ma c: 10.15.1 Браузер: Chrome: версия 81.0.4044.122
Спасибо