Intereting Posts
Второй цикл WP_Query показывает данные из основного запроса Как загрузить сценарий условно на пользовательское поле в wp_postmeta? Маленький белый квадратик Fancybox Проблема с регистрацией меню – что делать, если другие решения не работают? Как изменить стандартный URL-адрес WordPress RSS? Обновление WordPress 4.7.5 до 4.8, вызванное ошибкой datepicker Помощь при изменении стиля расширенного меню выпадающего меню WordPress захватывает первое изображение из галереи Включите конкретную запись в query_posts и удалите ее, если она уже находится в возвращенном списке. Проблема с различными циклами запросов (и «основной цикл») на странице шаблона шаблона! События WordPress Media Uploader Слишком большие изображения вызывают ошибку при установлении подключения к базе данных Пользовательский экспортер CSV – не может изменять информацию заголовка – заголовки Создать таблицу активации плагина Paginate ссылки с «уродливыми» и «хорошими» постоянными ссылками?

Как я могу сопоставить определенный шаблон URL-адреса для плагина для обработки

Я хочу отправить трафик определенного шаблона URL, который будет обработан моим плагином. Основываясь на этом шаблоне, я вытащу некоторую информацию о типах сообщений из WP, собираю внешнюю информацию через JSON, суммирую ее и выплевываю информацию raw (без тематики и т. Д.). Я хочу сделать все это в своем плагине без необходимости обновления основных или тематических шаблонов. Тем не менее, мне сложно определить, как передать управление моему плагину вместе с правильной информацией о шаблоне URL. Я посмотрел на add_rewrite_rule , но в конце концов отклонил это, поскольку он кажется исключительно для перенаправления на index.php . add_rewrite_endpoint кажется многообещающим, но мне сложно add_rewrite_endpoint , как это будет работать. Может кто-то указать мне верное направление? Или есть лучший способ (или лучший способ) сделать это?

Обновить:

Я работаю над кодом, которому мешает отсутствие знаний о жизненном цикле плагина / страницы. Ниже мой код. Я думал, что это работает, но сейчас это дает мне очень ненадежные результаты. Мне ясно, что моя конечная точка переписывания должна быть добавлена ​​при активации, поэтому она не добавляется несколько раз. Я также очищаю правила перезаписи только при активации и деактивации. Мне гораздо менее понятно, какое действие нужно предпринять, чтобы приложить другие действия и фильтры. Кажется, я получаю результаты, когда функция рендеринга используется на каждой странице (независимо от URL-адреса), или конечная точка не работает вообще. Довольно переменные результаты. Кроме того, даже когда конечная точка, кажется, работает, я не получаю никаких возвратных варов. Может ли кто-нибудь дать некоторые рекомендации?

 class My_Class { public static function mc_init() { add_filter( 'request', 'My_Class::mc_set_feed_var'); add_action( 'template_redirect', 'My_Class::mc_render'); } public static function mc_activate() { self::mc_add_rewrite_endpoint(); flush_rewrite_rules(); } public static function mc_deactivate() { flush_rewrite_rules(); } public static function mc_add_rewrite_endpoint() { add_rewrite_endpoint('custom-endpoint', EP_ALL); } public static function mc_render(){ echo "hello world"; exit(); } public static function mc_set_feed_var( $vars ) { if( isset( $vars['custom-endpoint'] )) $vars['custom-endpoint'] = true; return $vars; } } register_activation_hook(__FILE__, 'My_Class::mc_activate'); register_deactivation_hook(__FILE__, 'My_Class::mc_deactivate'); add_action('init', 'My_Class::mc_init');