Создание пользовательского сайта членства на WordPress: пять проблем
Опубликовано: 2017-10-19
Идея сайта членства проста: определенные сообщения, страницы или действия доступны только привилегированным пользователям (участникам). С точки зрения веб-разработчика, сайты членства являются наиболее сложной задачей при разработке сайта членства в WordPress.
В этой статье рассматриваются проблемы, с которыми вы сталкиваетесь при создании настраиваемого сайта членства в WordPress, особенно если вы не программист. В нем также объясняется, как решить некоторые из этих проблем с помощью подключаемых модулей Toolset .
Что такое членский сайт?
Любой веб-сайт, который предоставляет учетным записям пользователей доступ к активам (которые не видны обычным посетителям), может считаться сайтом членства.
Причины запуска сайтов членства могут быть разными:
- Малый бизнес должен разместить на веб-сайте своей компании некоторую информацию, предназначенную только для персонала (которая должна быть полностью скрыта от посетителей).
- Чтобы создать список рассылки, блоггеры могут захотеть предложить некоторый дополнительный контент для зарегистрированных пользователей.
Сайты членства также могут иметь разные группы участников. Например, соискатели (группа 1) могут подписаться на размещение своих резюме бесплатно, но хедхантеры (группа 2) должны будут заплатить, чтобы они могли получить доступ и запустить расширенный поиск, чтобы быстро найти кандидатов по своему выбору.
WordPress - хорошая платформа для разработки членского сайта?
Чтобы ответить на этот вопрос, мы сначала должны установить набор основных функций, которыми должен обладать сайт членства. Это включает:
- Формы регистрации и входа.
- Возможность определять разные роли пользователей с разными возможностями, например:
- Соискатели (роль A) могут добавлять резюме
- Счетчики (роль B) могут выполнять расширенный поиск по этим резюме.
- Посетители (роль C) могут только просматривать резюме, видя основную информацию о соискателях.
- Комиссия за оплату (необязательно).
За исключением взимания сборов, ядро WordPress с его концепцией ролей и возможностей и регистрационных форм предоставляет все необходимые механизмы для разработки сайта членства. Кроме того, поскольку существуют надежные плагины WordPress для электронной коммерции, плата за обработку также не является серьезной проблемой.

Настройки WordPress по умолчанию. Когда вы активируете опцию членства в общих настройках WordPress, пользователи могут зарегистрироваться на вашем сайте.
Настройки по умолчанию в WordPress для ролей пользователей. Недавно зарегистрированные пользователи появляются на экране пользователя.
На данный момент можно сказать, что WordPress можно рассматривать как платформу, достаточную для создания сайта членства.
Однако, как говорится, дьявол кроется в деталях.
Почему создание настраиваемого сайта членства - это проблема?
По какой-то причине многие веб-разработчики отказываются от прибыльных проектов, если они включают элементы членства. В чем именно заключается проблема создания сайта членства?
Мы задали некоторым веб-разработчикам следующий вопрос:
В: «Что мешает вам создать свой первый членский сайт?»
Посмотрим, как они ответили.
Разработчик A: «Я понимаю, что мне нужно будет скрыть некоторые из моих страниц от посетителей и показывать защищенный контент только тогда, когда пользователь вошел в систему. Так что мне точно понадобится форма входа. Однако, если требуется форма входа в систему, также потребуется форма регистрации, верно? Стандартные WordPress не в счет, так как они слишком уродливы. Кроме того, конечные пользователи не хотят знать, что стоит за WordPress. Следовательно, формы должны соответствовать общему дизайну моего сайта… и тогда вам нужно будет скрыть страницы. Может быть, настроив возможности WordPress? Думаю, для этого потребуется немного кода PHP… »
Разработчик Б: «Я бы даже не знал, с чего начать».
Разработчик C: «Некоторое время назад я попытался создать своего рода сайт членства. Бета-версия все еще работает, и некоторые люди ее используют. Но в нем отсутствуют многие функции. Например, я не знаю, как реализовать возможность продления подписки после ее истечения, чтобы моим текущим пользователям не приходилось регистрироваться снова ».
Да, создать собственный сайт членства непросто. Необходимо учитывать многие функции и требования пользователей.
Позвольте нам рассказать о типичных проблемах, с которыми вы сталкиваетесь при создании членского сайта.
Задача №1: с чего начать?
Многие пользователи не знают, с чего начать, и это понятно. Мы не подразумеваем, что создание сайта членства - это «кусок пирога». Этого нет и никогда не было. Однако если разбить задачи на более мелкие части, ими станет легче управлять.
Рассмотрим упрощенный вариант проекта вашего заказчика.
«Компания X хочет получить прибыль, предоставляя экспертные статьи. Некоторые статьи должны быть доступны бесплатно для всех, чтобы и авторы, и сама компания могли заслужить авторитет в качестве экспертов. Некоторые статьи будут доступны бесплатно, но только для участников сайта. Некоторые бесплатные статьи включают скрытые части, которые можно использовать в качестве тизеров, чтобы побудить потенциальных участников приобрести полное членство. Другой будет зарезервирован для пользователей, которые уже заплатили ».
Шаг 1. Определите потребности вашего клиента
Во-первых, постарайтесь более систематично определять потребности своих клиентов. Другими словами, превратите их в требования, определяющие, что и для кого должно быть доступно . Например:
- Возможность для всех просматривать бесплатные статьи.
- Возможность для подписчиков просматривать статьи, доступные только зарегистрировавшимся пользователям.
- Возможность для премиум-членов просматривать статьи, зарезервированные только для этой группы.
- Возможность для менеджеров сайтов скрывать части статей и делать эти скрытые части доступными только для платных участников.
Это всего лишь несколько примеров. Более изначально «скрытые» требования могут появиться, когда вы погрузитесь в тему, это нормально.
Шаг 2. Определите группы пользователей
Обратите внимание, что сосредоточение внимания на том, кто должен делать то, что позволяет вам идентифицировать так называемых «актеров», то есть пользователей с разными ролями. Примеры могут включать:
- Посетители: те, кто посещает сайт и не авторизован.
- Подписчики: те, кто зарегистрировался бесплатно.
- Премиум-участники: те, кто зарегистрировался и оплатил членство.
- Менеджеры сайта: пользователи, которые могут получить доступ к серверной части вашего сайта, но не должны быть такими мощными, как ваши администраторы.
Определив актеров, вы можете легко сопоставить их с ролями WordPress . Роли будут обсуждаться позже в этой статье.
Включение ваших требований в таблицу также поможет. Ваш клиент (владелец бизнеса) тоже оценит это, особенно если он или она не говорит на вашем техническом языке.

Шаг 3. Составьте список того, что вам нужно
Прежде чем вы начнете искать конкретные решения для реализации требований вашего клиента, подумайте, что на самом деле включает каждое из требований.
Задайте себе несколько конкретных вопросов, например следующие:
- Как вы будете отличать статьи, предназначенные для чтения всеми, от статей, предназначенных для привилегированных пользователей? Вы сгруппируете их по категориям? Будете ли вы использовать отдельные типы сообщений для каждой группы?
→ Потребность: способ группировать сообщения с ограниченным доступом - Как бы вы скрыли сборник статей от непривилегированных пользователей?
→ Потребность: способ ограничить доступ к группам постов - Как превратить посетителя в подписчика?
→ Потребность: способ включения форм регистрации - Что непривилегированные пользователи видят на защищенных страницах?
→ Потребность: способ включения пользовательских шаблонов
Не стоит рассматривать технические решения, пока не запишете все эти вопросы.
«Распространенная ошибка, которую совершают веб-разработчики, - это захват любого плагина, который, кажется, поддерживает их основные функции, только для того, чтобы позже обнаружить, что существуют некоторые« мелкие детали », которые они не рассматривали и которые становятся« пробками для демонстрации »проекта.
Предположим, что владелец сайта должен контролировать, что отображается, когда непривилегированные пользователи пытаются получить доступ к защищенным страницам. Таким образом, он или она может предоставить этим пользователям несколько тизеров или выделить некоторые характерные особенности.
Если ваш плагин позволяет отображать только простое сообщение, например «Вы должны войти в систему, чтобы увидеть эту страницу», ваш клиент может быть очень разочарован. Ваше решение работает, но не поддерживает бизнес-планы владельца сайта.

diki.pl (онлайн-словарь), веб-сайт, на котором защищенный контент скрыт за настраиваемым шаблоном (всплывающее окно справа) и, таким образом, раскрывает преимущества регистрации в качестве члена.
Шаг 4: Найдите инструменты для реализации требований проекта
Когда вы узнаете, что требуется вашему клиенту и вам как веб-разработчику, вы можете приступить к поиску решений.
Шансы на то, что вы найдете универсальный плагин, охватывающий все, невелики. Однако сочетание нескольких плагинов, чтобы ваш сайт членства работал нормально. Если у вас есть навыки программирования, вы можете реализовать некоторые недостающие функции с помощью пользовательского кодирования или передать эту работу программисту.
Подсказка: не изобретайте велосипед. Независимо от того, используете ли вы пользовательское кодирование PHP или плагины (или и то и другое), ваши решения основаны на таких механизмах WordPress, как профили пользователей, роли и возможности? Это упростит расширение вашего сайта и сделает его совместимым с кросс-плагинами.
Задача № 2: определение пользовательских ролей
Итак, как вы будете контролировать доступ к различным ресурсам для каждой группы ваших участников ? Оптимальный вариант - использовать роли .
Вместо того, чтобы предоставлять каждому пользователю доступ к новым ресурсам, вы можете просто дать пользователям определенные роли, а также контролировать все остальное на уровне ролей .


Например, вы можете настроить роль A, чтобы читать несколько определенных сообщений, и роль B, чтобы читать больше сообщений, чем роль A, и роль C, чтобы добавлять новые сообщения, что означает, что все пользователи с данной ролью смогут делать все, что им нужно. роль позволяет им делать.
Управление доступом через роли пользователей значительно упрощает управление ресурсами.
Если срок действия учетной записи пользователя истекает, а вы по-прежнему хотите сохранить этого пользователя в своей системе, вам не нужно удалять все подключения к его или ее ресурсам. Просто измените его или ее роль на ту, которая имеет ограниченные права.

С истечением срока действия учетной записи легко справиться с помощью ролей. Снимок экрана выше взят из плагина WooCommerce Subscription.
Обратите внимание: поскольку WordPress позволяет вам определять пользовательские роли , различные плагины WordPress, вероятно, будут использовать одни и те же механизмы и автоматически обнаружат пользовательские роли, которые вы определили.
Как добавить настраиваемую роль?
Чтобы добавить новую роль, используйте функцию добавления роли . Если вы не программист (или хотите сэкономить время), используйте плагин Toolset Access .
Добавление настраиваемой роли с помощью подключаемого модуля Toolset Access.
Возможности управления
Обратите внимание, что настройка пользовательских ролей идет рука об руку с настройкой возможностей для этой роли. Опять же, через плагин Toolset Access вы можете назначать возможности с помощью флажков.

Используя Toolset Access, вы контролируете возможности, проверяя опции.
Подсказка: ознакомьтесь с ролями и возможностями WP по умолчанию . Вы получите от этого двоякую пользу. Во-первых, создание настраиваемой роли не требуется, если существующая роль выполняет (или почти выполняет) то, что вам нужно. Во-вторых, при создании настраиваемой роли вы обнаружите, что набор возможностей по умолчанию имеет смысл для вашего случая.
Проблема № 3: Ограничение доступа к разному контенту
Контроль доступа для чтения
Наиболее ожидаемой защитой является ограничение доступа для чтения к вашим страницам и сообщениям (включая сообщения на основе настраиваемого типа сообщения).
Это потому, что ядро WordPress не предлагает вам многого в этом отношении. По умолчанию у вас может быть отдельное сообщение в частном порядке или защитить его сообщения паролем .

Ядро WordPress не предлагает много опций, позволяющих скрыть некоторые из ваших сообщений от публичного доступа.
Вам нужно больше, чем это. Вот несколько примеров того, что вам нужно:
- Возможность ограничить доступ для чтения на уровне ролей для всех сообщений определенного типа.
- Возможность ограничить доступ для чтения на уровне ролей для определенных сообщений / страниц (например, группы сообщений).
- Возможность скрыть содержимое публикации, но только частично (например, чтобы побудить пользователя стать участником).
Обратите внимание, что на ваш сайт будут добавляться новые сообщения. Однако заранее установить фиксированный набор охраняемых постов невозможно.
Вот почему вам нужен интерфейс, который позволяет администраторам или редакторам сайта вручную устанавливать правильные уровни защиты для нового контента.
В Toolset Access это контролируется группами сообщений.
- Создайте новую группу.
- Добавьте к нему определенные сообщения / страницы.
- Определите роли, доступные этой группе.

Ограничение доступа на чтение к группе сообщений с помощью плагина Toolset Access.
Определение того, что увидят непривилегированные пользователи
При ограничении доступа для чтения к страницам / сообщениям очень важно контролировать то, что могут видеть непривилегированные пользователи. Рассмотрим следующие варианты:
- Включите «404 страница не найдена»
- Включите собственное сообщение
- Включите полностью настраиваемый шаблон, который может содержать форму входа и / или ссылку на форму регистрации.
«Некоторые владельцы бизнеса хотели бы разместить на защищенных страницах что-то особенное, что побуждает посетителей зарегистрироваться или приобрести подписку (например, ограниченное по времени предложение). Чем больше гибкости у владельцев бизнеса, тем лучше ».
Непривилегированные пользователи 
Привилегированные пользователи 
В Toolset Access вы можете создавать свои собственные шаблоны и назначать разные шаблоны разным группам сообщений. Когда ваш шаблон будет готов, вы можете подключить его к группе защищенных страниц.

Настройка шаблона, который будет отображаться для пользователей, не имеющих разрешения на чтение.
Задача № 4: Управление регистрацией пользователей и учетными записями
Пользовательские формы регистрации и входа
Формы регистрации и входа в систему необходимы для каждого сайта членства. Ядро WordPress предлагает два вида форм:
- Авторизоваться
- Подписаться

Формы входа и регистрации по умолчанию WordPress.
Хотя некоторые блоггеры могут использовать формы по умолчанию, они неприемлемы для большинства владельцев бизнеса.
Чего владельцы бизнеса ожидают от форм входа и регистрации:
- Возможность включения дополнительных полей.
- Возможность полной настройки форм (в соответствии с общим дизайном сайта).
- Гибкость в отношении того, где можно вставить форму (встроить в страницу, в шаблон и т. Д.).

Внешнее управление аккаунтом
Не забывайте, что вашим пользователям нужно место, где они могут управлять своими данными, такими как имена, адреса электронной почты и пароли. Имейте в виду, что конечным пользователям не обязательно быть знакомыми с WordPress. Более того, некоторые предпочли бы вообще не заходить в бэкэнд WordPress.
Плагин Toolset CRED позволяет создавать интерфейсные формы для добавления профилей пользователей и управления ими. Они также полностью настраиваются.
Редактирование профиля пользователя через бэкэнд WordPress. 
Редактирование профиля пользователя в интерфейсе. Форма создана с помощью плагина Toolset CRED.

Задача № 5: Взимание платы за членство
Запуск сайта членства часто делается для получения прибыли. Вот почему включение решений для электронной коммерции необходимо для членских сайтов.
Что вы могли бы сделать:
- Найдите плагин членства, который уже интегрирован с онлайн-платежами.
- Добавьте плагин электронной коммерции общего назначения, такой как WooCommerce, и интегрируйте его со своим сайтом .
Плагин Toolset CRED Commerce позволяет связывать ваши интерфейсные формы с продуктами WooCommerce и приостанавливать выполнение основного действия до тех пор, пока соответствующий заказ не будет отмечен как завершенный (т. Е. Платеж будет успешно завершен).
Когда вы используете интерфейсные формы для добавления новых сообщений (например, пользователи добавляют резюме), новое сообщение будет отображаться в статусе черновика и не будет изменено на «опубликовано» до тех пор, пока соответствующий перевод не будет успешно завершен.
Процесс регистрации для создания учетных записей пользователей работает аналогичным образом: пользователь не увидит свой профиль, пока заказ не будет выполнен. Смотрите следующий снимок экрана.
Подключение формы регистрации пользователя к продукту WooCommerce в плагине Toolset CRED Commerce.
Обработка повторяющихся платежей (подписки, которые ограничены по времени и могут быть продлены по истечении определенного периода) сложнее и требует использования специального решения, такого как надстройка WooCommerce Subscriptions .
Резюме
Разработка настраиваемого сайта членства требует понимания некоторых основных операций WordPress, таких как создание профилей пользователей, ролей и возможностей. Часто это означает проведение некоторых исследований и планирования, особенно если это будет ваш первый сайт подобного рода.
Если все сделано правильно, сайт членства дает вам больше гибкости на разных уровнях. Ваш сайт будет легко расширять и легче управлять. Кроме того, вы будете хорошо вооружены инструментами и стратегиями, которые сможете использовать в различных проектах.
Планируете ли вы заниматься подобными проектами? Toolset может помочь. Помните, что вы можете попробовать это в течение 30 дней . Если вы не полностью довольны, вы получите полный возврат без каких-либо вопросов.
Примечание. Эта статья была опубликована в сотрудничестве с Агнес Бери из WPML.
