Существует масса разных вариантов передать в плагин параметры. Во многих плагинах это делается передачей напрямую файлу плагина. Через $_GET и всё такое. Мне это всегда казалось как то не симпатично, а в определенных случаях и криво работало. И в WordPress есть инструменты, как сделать красиво.
Схема такая:
- Регистрируем свои переменные, которые WordPress ищет в запросе
- Вешаем на такие переменные свой обработчик
Итого буквально две функции
1 2 3 4 5 6 7 8 |
/** * Register query vars */ function azzap_query_vars($vars) { $vars[] = 'azzap_query'; return $vars; } add_filter('query_vars', 'azzap_query_vars'); |
1 2 3 4 5 6 7 8 9 10 11 12 |
/* * Queries urls */ function azzap_request($wp){ if (array_key_exists('azzap_query', $wp->query_vars)) { $func = htmlspecialchars($wp->query_vars['azzap_query']); if(method_exists('AzzapUser', $func)) AzzapUser::$func(); die(); } } add_action('parse_request', 'azzap_request'); |
Вторую функцию я просто скопипастил из одного из своих плагинов, там используется проверка наличия метода в классе. У вас конечно будет по другому. Но суть ясна, я думаю.