У меня есть сайт Wordpress, и я хотел бы, чтобы пользователи отправляли свой адрес электронной почты через форму, а затем мой почтовый клиент автоматически отправлял им сообщения со ссылкой на определенную страницу. Эта страница не должна быть доступна без этой ссылки. Возможно ли это сделать и есть ли готовые плагины для этого? Я использую плагин для участников, но я хочу, чтобы пользователи указывали только свою электронную почту, а не заполняли всю форму. Надеюсь ты понимаешь. Спасибо. ж
Доступ к странице Wordpress по ссылке электронной почты
Ответы (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
Если вы предоставите более подробную информацию о том, почему встроенная система регистрации не работает, возможно, я смогу помочь лучше.
-Кевин