Как сделать мембершип на WordPress бесплатно

Мембершип сайт — интересная концепция, с помощью которой вы можете ограничивать доступ к определенному контенту определенным пользователям, и открывать доступ к этому контенту за оплату или подписку.

По умолчанию в Вордпрессе есть возможность регистрации пользователя на стандартной странице регистрации /wp-login.php?action=register, и стандартная админка пользователя /wp-admin/profile.php, но этого мало, и это не совсем то, что нужно.

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

Но что, если многие из этих плагинов слишком большие для вашей задачи, или вы не хотите покупать платный плагин?

В этой статье вы узнаете, как создать мембершип раздел или сайт, используя только бесплатные плагины и снипеты для functions.php.

Содержание:

Чего не хватает Вордпрессу для организации мембершипа

Как создать бесплатный мембершип на Вордпресс

  1. Создайте дополнительные роли пользователей
  2. Настройте Profile Builder
  3. Создайте кастомное меню
  4. Прием оплат

Как создать бесплатный мембершип на Вордпресс с приемом оплат через WooCommerce

  1. Создайте описанный функционал
  2. Ограничьте доступ к контенту
  3. Добавьте формы регистрации и авторизации
  4. Настройка WooCommerce
  5. Измените роль пользователя
  6. Шлюз приема оплат WooCommerce

Этот мембершип будет собираться по частям, каждый блок будет отвечать за свою часть работы.

Нужная информация от каждого блока будет передаваться другим блокам через Вордпресс, поэтому вся конструкция будет работать без сбоев.

Чего не хватает Вордпрессу для организации мембершипа

Изначально Вордпресс — это блог платформа, но к настоящему времени она развилась настолько, что на ее основе можно создать практически любой сайт, в том числе мембершип сайт.

В Вордпрессе есть все недостающие возможности для организации мембершипа, нужно только подобрать инструменты для их настройки и использования.

1. Отсутствие формы входа и регистрации во фронт-энде и страницы профиля

Если в НастройкахОбщие стоит галочка Любой может зарегистрироваться, то любой посетитель может зарегистрировать аккаунт с ролью Subscriber (Подписчик) по адресу /wp-login.php?action=register:

Настройки - Общие - Членство, "Любой может зарегистрироваться"
Настройки — Общие — Любой может зарегистрироваться

Эта форма регистрации больше подходит для администратора сайта, или для разработчика.

На мембершип сайте нужна форма регистрации посетителей во фронт-энде, которая могла бы присваивать посетителю не только роль Подписчика, но и какую-то другую роль, например, кастомную роль Мембершип.

Возможно, вам понадобится несколько форм регистрации, которые будут присваивать разные роли пользователей для доступа к разным продуктам.

Та же проблема с формой входа и профилем пользователя. У каждого пользователя Вордпресс есть своя админка по адресу /wp-admin/profile.php, но это не то, что нужно для мембершипа.

2. Отсутствие кастомных ролей пользователей

При регистрации пользователя ему присваивается роль Подписчика.

Если у вас несколько продуктов, доступ к которым вы хотите ограничить отдельно, то вам нужно несколько ролей пользователей.

Нам нужен способ для создания кастомных ролей пользователей.

В Вордпрессе уже есть несколько ролей пользователей, значит, есть возможность создавать свои роли пользователей и управлять ими.

3. Нет возможности ограничивать доступ к контенту на сайте

По умолчанию в Вордпрессе есть только базовый функционал для защиты страниц паролем и статус «private content».

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

Кроме этого, вам может быть нужно скрывать не всю страницу, а только часть контента на странице, например, несколько блоков Гутенберг.

4. Нет возможности скрывать элементы меню

Многие мембершип сайты публикуют большое количество контента и классифицируют его разными способами (например, на основе категории, темы, курса и т.д.).

Нам тоже нужно иметь возможность для управления меню, чтобы мы могли показывать определенные элементы меню определенным ролям пользователей и скрывать их от других.

В Вордпресс такая возможность есть.

5. Прием платежей

Если вы хотите организовать мембершип с доступом к контенту только за подписку, то эта проблема для вас неактуальна.

Но если вы хотите открывать доступ к определенному контенту платно, то есть еще одна проблема с приемом платежей.

Это список проблем Вордпресс, которые нужно решить, чтобы создать мембершип сайт.

Хотя кроме этого недостающего в Вордпрессе функционала есть другой, например, дрип-контент, напоминания о каких-то событиях, достижения, чат и многое другое, для большинства владельцев сайтов этого стандартного функционала будет вполне достаточно.

Если вам нужен дополнительный функционал, посмотрите платные плагины.

С помощью информации из этой статьи вы сможете сделать мембершип раздел или сайт, который может:

  • Ограничивать доступ к закрытому контенту (Курсы, Статьи, Аудио, Видео и так далее). Доступ к закрытому контенту получат только те посетители, которые зарегистрировались или оплатили.
  • Для доступа к контенту вы создадите новую роль Member. Для доступа к разному контенту вы можете создать столько ролей, сколько вам нужно.
  • Посетители могут зарегистрироваться во фронт-энд форме или при оформлении заказа.
  • Пользователи могут редактировать свой профиль и заходить в него через форму авторизации во фронт-энде.
  • Пользователи в зависимости от роли будут видеть разные меню.
  • Пользователи будут получать е-мейл сообщения при регистрации или при оплате.
  • После авторизации пользователи будут перенаправляться на выбранную страницу.

Шаг 1. Создайте дополнительные роли пользователей

По умолчанию в новой установке Вордпресс есть 5 ролей пользователей: Администратор, Редактор, Автор, Участник, Подписчик.

Эти роли определяют, кто что может создавать, редактировать и к чему имеет доступ в админке сайта.

Нам нужна еще одна или несколько ролей во фронт-энде, чтобы открывать доступ к закрытому контенту.

Создать новую роль можно вручную или с помощью плагина.

Если вы хотите создать новую роль вручную, добавьте этот снипет в файл functions.php дочерней темы, или с помощью специального плагина.

Не добавляйте снипет напрямую в functions.php текущей темы, потому что при следующем обновлении темы этот файл будет заменен на оригинальный:

Этот снипет создаст новую роль на сайте, которая будет называться Member. Этой роли присвоена привилегия Читать контент.

Если вы хотите создать несколько ролей, переходите сюда:

Если вы хотите создать кастомную роль пользователя с помощью плагина, установите этот плагин:

После установки перейдите в Пользователи — Роли — Создать роль:

Members - Создайте новую роль
Создайте новую роль

Создайте роль, дайте ей название и дайте привилегию read (Читать).

Проверьте, что роль зарегистрировалась на сайте в ПользователиРоли:

Members - Роли
Пользователи — Роли

Шаг 2. Настройте Profile Builder

Чтобы настроить весь функционал из этого раздела, вам понадобится платная версия.

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

Для некоторых шагов я предложу альтернативные решения.

Общие настройки

Перейдите в настройки Profile BuilderGeneral Settings и сделайте свои настройки:

Profile Builder - Общие настройки
Общие настройки

Allow User to Log in With — Разрешить пользователям авторизоваться с помощью:

  • Username and Email — Имя пользователя и пароль
  • Username — Только имя пользователя
  • Email — Только пароль

Minimum Password Length — Минимальная длина пароля

Minimum Password Strength — Минимальная сложность пароля

Weak — слабый пароль

Сделайте свои настройки, или используйте эти.

Если вы разрешите авторизацию на сайте только с помощью имени пользователя, это может быть неудобно для администратора, редактора или автора.

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

Но он не должен быть и слишком сложным, потому что многим пользователям это не нравится.

Выберите подходящий вам вариант.

Отключите админ бар

По умолчанию админ бар показывается всем пользователям сайта.

Перейдите в Profile BuilderAdmin Bar Settings и отключите админ бар для нужных ролей пользователей:

Profile Builder - Настройки админ бара
Настройки админ бара

Чтобы отключить показ админ бара для роли Member, отметьте галочку Hide.

Создайте форму регистрации во фронт-энде

Чтобы отключить ненужные поля в форме регистрации перейдите в Profile BuilderManage Fields.

Удалите ненужные поля:

Profile Builder - Удалите лишние поля
Удалите лишние поля

В итоге у вас должно получиться что-то подобное:

Profile Builder - Менеджер полей
Аккаунт пользователя — Менеджер полей

Форма регистрации добавляется на любой странице (или в виджет сайдбара) с помощью шорткода.

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

Profile Builder - Форма регистрации
Форма регистрации

Этот шорткод присваивает всем зарегистрировавшимся роль Member:

[wppb-register role="member"]

Так выглядит форма регистрации во фронт-энде (со стандартной темой):

Profile Builder - Форма регистрации во фронт-энде
Форма регистрации во фронт-энде

Создайте форму логина во фронт-энде

Форму авторизации вы тоже можете поместить на любую страницу или в виджет сайдбара.

Вы можете использовать собственный виджет Profile Builder во Внешнем видеВиджеты:

Profile Builder - Виджет авторизации
Виджет авторизации

Или используйте шорткод:

[wppb-login]

Создайте профиль пользователя во фронт-энде

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

Перейдите в Страницы — Добавить новую и создайте страницу для профиля пользователя.

Если нужно, добавьте контент и шорткод:

[wppb-edit-profile]

На каждой странице Profile Builder добавляет мета-бокс Content Permission, с помощью которого вы можете указать, кто имеет доступ к этой странице:

Profile Builder - Ограничение доступа к странице
Ограничение доступа к странице

В поле Custom error message введите сообщение, которое будут видеть незалогиненные и незарегистрированные посетители.

Форма в профиле пользователя выглядит так же, как форма регистрации.

Ограничьте доступ к контенту

Главный функционал любого мембершипа — ограничение доступа к контенту.

Создайте новую страницу Страницы — Добавить новую, дайте ей название и в мета-боксе Content Restrictions (см. предыдущую иллюстрацию) выберите, у кого есть доступ к этой странице.

Вы можете создать столько страниц, сколько вам нужно, и организовать любую родительскую / дочернюю структуру.

Чтобы ограничить доступ к отдельным блокам Гутенберг, вы можете использовать один из специальных плагинов. Таких плагинов довольно много, это один из вариантов:

Если вы хотите ограничивать доступ к контенту с помощью шорткодов, попробуйте плагин Private Content:

Этот плагин создает шорткоды для ограничения доступа к определенным частям контента на странице только пользователям с определенной ролью.

Ограничить доступ ко всей странице с помощью этого плагина нельзя.

Если вам нужно ограничить доступ к контенту, который создан в редакторе Elementor, то используйте один из этих плагинов:

Еще один способ — с помощью функционала некоторых платных тем, который называется Elements, Custom Hooks, Custom Layouts или что-то подобное.

Смысл этого функционала в том, что вы можете создать какой-то контент и в его настройках указать, где этот контент отображается, и какие роли имеют к нему доступ.

Такой функционал есть, например, в темах Astra, GeneratePress, Blocksy, Kadence и многих других.

Настройте сообщения

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

Чтобы добавить этот функционал, нужно включить дополнительные модули в Profile BuilderModules.

Включите модули User Email Customizer и Custom Redirects:

Profile Builder - Включите модули
Включите модули

С помощью модуля User Email Customizer вы можете посылать только что зарегистрировавшимся пользователям кастомные сообщения.

Чтобы настроить кастомное сообщение, перейдите в Profile BuilderUser Email Customizer.

В этом разделе вы можете создать свои собственные сообщения для разных событий, связанных с регистрацией пользователей:

  • Регистрация пользователя
  • Регистрация пользователя с подтверждением по е-мейл
  • Регистрация пользователя с одобрением администратора
  • Уведомление пользователя об одобрении регистрации
  • Сообщение о сбросе пароля
  • Несколько других сообщений
Profile Builder - Редактор сообщений
Редактор сообщений

Настройте редиректы

Редиректы переносят посетителя на выбранные страницы после определенных действий, которые посетители делают.

Вы можете перенаправлять пользователей после:

  • Регистрации на сайте
  • Авторизации на сайте
  • Запроса на восстановление пароля
Profile Builder - События для редиректа
События для редиректа

В этом примере я использую только один редирект после авторизации.

Используйте нужные вам редиректы и добавьте страницы, на которые происходит перенаправление.

В следующем разделе вы можете настроить редиректы при запросе пользователей стандартных страниц Вордпресс:

  • Стандартная страница авторизации /wp-login.php
  • Страница выхода
  • Стандартная страница регистрации /wp-login.php?action=register
  • Стандартная админка Вордпресс
Profile Builder - Редиректы со стандартных страниц Вордпресс
Редиректы со стандартных страниц Вордпресс

Добавьте URL ваших страниц напротив тех страниц Вордпресс, при запросе которых вы хотите делать редирект.

Альтернативные плагины

В качестве альтернативы Profile Builder вы можете использовать эти плагины:

Один из самых простых и легких плагинов для создания форм регистрации / авторизации и админки пользователя с помощью шорткодов, блоков Гутенберг или популярных пейдж-билдеров.

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

Есть формы авторизации, восстановления, смены и сброса пароля.

С помощью платной версии вы можете добавить связь с MailChimp, Easy Digital Downloads, WP Job Manager и WooCommerce (отображение заказов и отзывов в админке пользователя), добавить функционал фолловеров и добавить в друзья, уведомления в реальном времени, возможность для пользователей создавать группы, писать сообщения друг другу, и многое другое.

С помощью этого плагина вы можете создать профиль пользователя и каталог пользователей, формы регистрации и авторизации, формы сброса и восстановления пароля и ограничить доступ к контенту на основе ролей пользователей.

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

В плагине есть редирект пользователей после того, как они зарегистрировались, авторизовались, вышли или сбросили пароль.

Есть отключение админ-бара и запрет доступа в стандартную админку Вордпресс.

В платной версии плагина вы можете добавить кастомные поля, связь с WooCommerce для редактирования профиля, просмотра покупок и другое, возможность пользователям создавать и вступать в группы, возможность пользователям публиковать записи и многое другое.


Плагин WP User Frontend Pro похож на предыдущие, но у него есть лайф-тайм лицензия.

Другие плагины в репозитарии Вордпресс для создания Профиля пользователя.

Шаг 3. Создайте кастомное меню

В этом шаге вы добавите элементы меню, которые будут видны только определенным ролям пользователей, например, отдельные он-лайн курсы, или отдельные главы этих курсов.

Установите и активируйте плагин Nav Menu Roles:

Перейдите во Внешний видМеню и создайте меню. Назовите его, например, Member menu.

Отметьте все ваши мембершип страницы, закрытый контент, всё, что вы хотите поместить в меню:

Меню Вордпресс - Добавьте страницы
Добавьте страницы

Плагин Nav Menu Roles добавляет возможность скрывать или показывать элементы меню в зависимости от роли пользователя.

Раскройте элемент меню и сделайте нужные настройки:

Nav Menu Roles - Видимость элементов меню
Видимость элементов меню

Сделайте настройки видимости для своих страниц, например, такие:

  • Страница авторизации: Display Mode — Logged Out Users
  • Регистрация: Display Mode — Logged Out Users
  • Страница Профиля: Display Mode – Everyone; Access Role – Member
  • Закрытый контент: Display Mode – Everyone; Access Role – Member (плюс Author, Editor, Administrator)

Нажмите Сохранить.

Другие плагины, с помощью которых вы можете скрывать / отображать элементы меню.

На этом этапе у вас есть полностью готовый мембершип с доступом к контенту за подписку.

Если вам нужно принимать оплату, вам понадобится какое-то платное решение.

Шаг 4. Прием оплат

Единственный платный плагин, который вам понадобится — это плагин форм, который принимает оплату через западные шлюзы вроде Stripe, 2Checkout или PayPal:

И некоторые другие.


Если вы не хотите покупать плагин форм, вы можете принимать оплату через WooCommerce.

Как создать бесплатный мембершип на Вордпресс с приемом оплат через WooCommerce

Если вы хотите использовать WooCommerce только для приема оплат, то переходите к Шагу 4.

Если вы хотите использовать WooCommerce для приема оплат, и использовать админку пользователя WooCommerce, то вам может быть не нужен плагин Profile Builder или аналогичные.

Вместо них вы можете создать мембершип альтернативным способом.

Вам понадобится функционал плагина Profile Builder без самого профиля пользователя.

Шаг 1. Создайте описанный функционал

Кроме WooCommerce вам потребуется создать роли пользователей, ограничить доступ к контенту, создать формы регистрации и авторизации, и так далее.

Этот функционал уже описан:

  1. Создайте дополнительные роли пользователей
  2. Отключите админ-бар
  3. Создайте кастомное меню

Шаг 2. Ограничьте доступ к контенту

Вы можете ограничить доступ к контенту с помощью плагина Content Control:

С помощью этого плагина вы можете ограничить доступ к контенту. Создайте и назовите доступ, выберите, кто будет иметь доступ к этому контенту:

Content Control - Общие настройки
Общие настройки

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

Content Control - Защита контента
Защита контента

Вы можете выбрать показ сообщения с вашим текстом, или настроить редирект на страницу авторизации, на главную страницу или на произвольный URL.

Настройте правила ограничения доступа к контенту. Выберите, какой контент доступен для просмотра выбранной роли:

Content Control - Правила ограничения доступа к контенту
Правила ограничения доступа к контенту

Для доступа к контенту вы можете создать несколько правил, объединенных логикой и / или.

Если вам нужно ограничить доступ к некоторым блокам Гутенберг или к страницам / виджетам Elementor, переходите сюда.

Шаг 3. Добавьте формы регистрации и авторизации

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

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

В этом случае вы можете использовать любой удобный вам плагин только для создания формы авторизации.

С помощью плагина Forminator вы можете создавать формы регистрации бесплатно:

Автоматизация

Если вам нужна регистрация пользователей и присвоение им определенной роли, то вам потребуется плагин Uncanny Automator:

С помощью этого плагина вы можете создавать цепочки автоматизаций, например:

Когда пользователь отправляет форму:

Uncanny Automator - Триггеры Forminator
Триггеры Forminator

Его роль меняется:

Uncanny Automator - Действия Вордпресс
Действия Вордпресс

Когда пользователь отправляет форму:

Uncanny Automator - Триггеры Fluent Forms
Триггеры Fluent Forms

Ему отправляется сообщение:

Uncanny Automator - Действия Вордпресс
Действия Вордпресс

В середине 2021 года Uncanny Automator работает с этими плагинами форм:

  • Gravity Forms
  • Caldera Forms
  • Happy Forms
  • Contact Form 7

Полный список всех действий / триггеров смотрите здесь.

Шаг 4. Настройка WooCommerce

Мембершип — специфичный товар, которому не нужна доставка, хранение, инвентаризация, и который продается только в единственном количестве.

1. Отключите доставку

Перейдите в Настройки — Основные — Основные настройки:

Настройка WooCommerce - Доставка
Отключите доставку товара

2. Отключите запасы

Перейдите в Настройки — Товары — Запасы:

Настройка WooCommerce - Товары - Запасы
Отключите инвентаризацию

3. Включите создание учетной записи при оплате

Для доступа к закрытому контенту пользователям нужно зайти в свой аккаунт.

Включите создание аккаунта при оплате в Настройки — Учетки и приватность:

Настройка создания учетной записи
Создание учетной записи при оформлении заказа

Три последние настройки на ваше усмотрение.

4. Измените требование к сложности пароля

По умолчанию Вордпресс требует использовать сложный пароль, состоящий минимум из 12 букв и символов. Это нужно для безопасности сайта и защиты личных данных пользователей.
 
Если вы хотите уменьшить сложность пароля, добавьте этот код в functions.php дочерней темы или с помощью специального плагина:

5. Настройте е-мейл сообщения

Настройте сообщения, которые посылаются подписчику после оплаты Мембершипа. Настройки — Email’ы:

WooCommerce - Настройки email
Настройки email

Если вы используете WooCommerce, то сообщения Profile Builder вам могут быть не нужны.

6. Измените название кнопки «Добавить в корзину»

Вы можете изменить название кнопки «Добавить в корзину» на странице товара.

Добавьте этот код в functions.php дочерней темы или с помощью специального плагина:

Замените текст в строке 5 на свой.

7. Отключите кнопку «Обновить корзину»

Вы можете отключить показ кнопки «Обновить корзину» на странице Корзина. Добавьте этот код во Внешний вид — Настроить — Дополнительные стили:

8. Отключите ненужные поля на странице Оформления заказа

Если вы продаете только Мембершипы, адрес и телефон могут быть вам не нужны.
 
Установите плагин Checkout Field EditorWooCommerce — Checkout Form — Billing Fields:

Настройка полей при оформлении заказа
Отключите ненужные поля

На вкладках Shipping Fields и Additional Fields вы можете отключить поля доставки и дополнительные поля.

9. Измените символ валюты на буквы

Если вы хотите изменить стандартный символ рубля на руб., добавьте этот код в functions.php дочерней темы или с помощью специального плагина:

Шаг 5. Измените роль пользователя

По умолчанию после покупки любого товара в WooCommerce покупателю назначается роль Customer (Покупатель).

Если у вас только один мембершип, то этого может быть достаточно, — вы можете открывать доступ к контенту роли Покупатель.

Но если вы хотите назначать посетителю кастомную роль, или у вас несколько товаров и несколько мембершипов, то вы можете создать одну или несколько кастомных ролей.

Тогда вы можете открывать доступ к разным мембершипам отдельно разным ролям пользователей.

Добавьте этот снипет в файл functions.php дочерней темы, или с помощью специального плагина:

Замените ID товара 123 в строке 9 на ID своего товара, который будет открывать доступ к контенту.

Когда посетитель покупает товар с этим ID, ему присваивается роль member.

Если вы хотите присваивать другую роль, измените ее в строке 20.

Шаг 6. Шлюз приема оплат WooCommerce

Если вы оформлены как ИП или самозанятый, для приема оплат вы можете использовать шлюз WooCommerce своего банка или западные шлюзы вроде Stripe, 2Checkout или PayPal.

Если вы не оформлены как ИП или самозанятый, и западные шлюзы вам не подходят, попробуйте шлюз ЮМани (бывш. Яндекс.Деньги).

Для работы с этим шлюзом требуется только бесплатный аккаунт ЮМани и плагин.

ИП или статус самозанятого не требуется.

Комиссия за обработку платежей составляет 2%.

Вы можете создать бесплатную виртуальную карту и расплачиваться ею в интернете как обычной картой, или выпустить пластиковую карту сроком действия на 3 года за 300 рублей.

Ваш мембершип готов, можно проверить.

Если этого функционала вам недостаточно, но вы не хотите покупать дорогие плагины мембершипа, переходите в:

Если вы хотите купить дорогой плагин мембершипа, переходите в:

Читайте также:

  1. Как создать мембершип на плагине MemberPress
  2. Роли и привилегии WordPress

Надеюсь, статья была полезна. Оставляйте комментарии.

Ответить

Techbear