2016-05-24 2 views
-1

Я разрабатываю плагин, где мне нужно отправить ссылку активации подписчикам.Создайте «скрытую» страницу из WordPress-плагина

Теперь я застреваю при создании ссылки активации. Я хочу что-то вроде www.page.com/newsletter/activate?key=xxxx&hash=xxx.

Но как создать эту собственную пулю без добавления страницы контента? Эта страница не должна иметь никакого вывода. После активации сценарий просто перенаправляется на страницу подтверждения. Эта страница подтверждения также не должна быть «реальной» страницей контента, но должна выводить небольшой текст. Как это сделать из плагина?

ответ

2

Вы можете использовать действие WordPress. В этом случае вы можете обращаться с такой ссылкой:

add_action('init', 'check_newsletter_link'); 
function check_newsletter_link(){ 
    if (preg_match('/newsletter\/activate/', $_SERVER['REQUEST_URI']) && isset($_GET['key'], $_GET['hash'])){ 
     $key = $_GET['key']; 
     $hash = $_GET['hash']; 
     //Your code goes here 
    } 
} 

Здесь вы можете написать свой PHP-код. WordPress action - это волшебство :)

1

Вам нужно будет изучить правила перезаписи в Wordpress, чтобы решить эту проблему «красиво».

Я не поклонник этого плагин, который называется WP маршрутизатор, но она предоставляет вам с функциональностью вы хотите: https://github.com/jbrinley/WP-Router

Если вы не хотите использовать этот плагин, создавать свои собственные правила перезаписи в плагине:

шаги предпринять:

  1. Регистрация правила перезаписи
  2. Добавить переменные запроса (ваш ключ = ххх и хэш = ххх), поэтому Wordpress распознает их
  3. Перехватите запрос Wordpress с помощью действия parse_request, посмотрите, было ли ваше правило перезаписи обнаружено и запускается ваша собственная функция.