Доступ к странице Wordpress по ссылке электронной почты

У меня есть сайт Wordpress, и я хотел бы, чтобы пользователи отправляли свой адрес электронной почты через форму, а затем мой почтовый клиент автоматически отправлял им сообщения со ссылкой на определенную страницу. Эта страница не должна быть доступна без этой ссылки. Возможно ли это сделать и есть ли готовые плагины для этого? Я использую плагин для участников, но я хочу, чтобы пользователи указывали только свою электронную почту, а не заполняли всю форму. Надеюсь ты понимаешь. Спасибо. ж


person givey    schedule 29.05.2010    source источник


Ответы (1)


Лучший способ — просто использовать встроенную систему регистрации. Есть ли какая-то причина, которая не сработала для вас?

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

Чтобы отправить письмо пользователю, просто поместите следующий PHP-код на страницу:

mail($_GET['user_email_address'], 'Access to site', 'To access the site please use ' . get_bloginfo('url') . '/foo.php?access=1');

Первый параметр предполагает, что вызывающая его страница имеет текстовое поле с именем «user_email_address». Далее следуют тема и содержание письма; вы можете изменить их, чтобы отразить то, что вы действительно хотите.

Затем на странице, к которой вы хотите ограничить доступ, поместите следующий код вверху файла:

if (!isset($_GET['access']))
     wp_redirect(get_option('siteurl') . '/wp-login.php?action=register');

Это перенаправляет всех, у кого нет доступа к параметру get. У этой системы есть два основных недостатка:

  • вы можете легко скопировать / вставить и поделиться этим URL, и любой сможет обойти электронную почту
  • если вы попытаетесь вернуться на страницу позже, вы не сможете попасть на нее без параметра get

Если вы предоставите более подробную информацию о том, почему встроенная система регистрации не работает, возможно, я смогу помочь лучше.

-Кевин

person KevinM    schedule 31.05.2010