Intereting Posts
Доступ к WordPress через REST API влияет на статистику сайта и аналитику? wp_get_object_terms (), чтобы получить список всех терминов, прикрепленных ко всем сообщениям в текущем запросе Запустите wp_kses_decode_entities для подачи атома? Отображение различных изображений заголовков на основе текущей страницы Создание импортера демо с одним кликом Использование Travis CI для запуска модульных тестов и запуска phpunit локально Зацикливание через пользовательскую таксономию и отображение пользовательских типов сообщений (пользовательский интерфейс пользовательского сообщения) Как я могу автоматически переводить названия с любого языка на английский? как вставлять внешнюю веб-страницу на мою страницу wordpress Получать сообщения, по крайней мере, с одной категорией с текущим сообщением? Почему мое загруженное изображение было загружено в / uploads / 2015/02 not / uploads / 2016/01? Проблема создания задания cron wordpress Как совместить внутри функции _e () правильный путь? WordPress удаляет сообщение о возможности, носитель полностью настраивается Отображать сообщения категории, сгруппированные по таксономии

Как определить обратный вызов для URI?

У меня есть функция в functions.php, например:

function myplugin_mycallback($id) { // do something } 

Я хочу, чтобы эта функция вызывалась всякий раз, когда обращался к URL-адресу, например myplugin / mycallback / xxx.

Как / где я могу определить этот путь, чтобы он не генерировал 404?

Solutions Collecting From Web of "Как определить обратный вызов для URI?"

Вы можете использовать add_feed( $url, $callback ) . Несмотря на свое имя, он отправляет text/html Content-Type.

Основной пример:

 add_action( 'init', 'wpse_50841_register_extra_page' ); function wpse_50841_register_extra_page() { add_feed( 'wpse50841', 'wpse_50841_callback' ); } function wpse_50841_callback() { print '<p>It works!</p>'; } 

Перейдите на страницу настроек постоянной ссылки один раз, чтобы обновить кеш перезаписи, и перейдите к example.com/wpse50841/ или example.com/?feed=wpse50841 чтобы увидеть ваш код в действии.