CodeCanyon WP Full Stripe Members - Плагин WordPress
Полнофункциональное дополнение к плагину членства для WP Full Stripe, которое позволяет создавать защищенный контент, который разрешено просматривать только подписанным участникам.

Особенности плагина
Доступно несколько уровней членства, поэтому вы можете предлагать разные уровни членства, каждый из которых привязан к другому плану подписки. Участники имеют свою собственную страницу "Портал клиентов", которая позволяет им обновлять данные кредитной карты, изменять свой план и отменять подписку.
Получите полный контроль над своим защищенным контентом, просто выбрав опцию сделать его доступным только для подписчиков на странице редактирования публикации. WP Full Stripe Members легко интегрируется с WP Full Stripe и автоматически создает учетные записи участников для клиентов, которые подписываются на определенные вами планы членства.
Спецификации:
| Дата выхода: | 11-10-2020 | |
| Дата обновления: | 27-10-2022 | |
| Тип расширения: | Платный | |
| Лицензия: | GPL | |
| Тематика: | Доступ и безопасность | |
| Совместимость: | W5.x | |
| Включает в себя: | Плагин | |
| Языковые пакеты: |
|
|
| Разработчик: | CodeCanyon | |
| Рейтинг: | ||
Скачивание по подписке!
Вам необходимо авторизоваться на сайте и приобрести клубную подписку!
Поделись с друзьями!
Руководство по настройке CodeCanyon WP Full Stripe Members для платного доступа в WordPress
CodeCanyon WP Full Stripe Members нужен не просто для приёма подписок через Stripe. Главная польза плагина в том, что он связывает оплату подписки с учётной записью WordPress, уровнем доступа и конкретными страницами, которые должны видеть только подписчики. В этом руководстве разберём рабочую логику продукта: что подготовить до установки, как сопоставить тарифы Stripe с ролями участников, как защитить контент, как проверить личный кабинет и как диагностировать типичные сбои.
В актуальной документации Themeisle тот же функциональный продукт встречается под названием WP Full Members для WP Full Pay. Это важно учитывать при поиске справки: старое название из карточки CodeCanyon и новое название в базе знаний описывают один и тот же сценарий платного членства вокруг WP Full Pay. В тексте я сохраняю название из задания, но для интерфейсных путей использую свежие формулировки документации, где меню называется WP Full Pay или Full Pay.
Материал рассчитан на владельца сайта, редактора или разработчика, который уже понимает базовую идею Stripe-подписок, но хочет избежать главной ошибки: принять платеж и не дать пользователю нужный доступ, либо наоборот оставить закрытую страницу в кеше и показать её не тому посетителю. Поэтому здесь много проверок результата, осторожных настроек и диагностических цепочек.
Как работает платная зона на базе WP Full Pay и Members
У продукта есть понятная, но чувствительная цепочка. Сначала посетитель выбирает тариф в форме WP Full Pay. После успешной оплаты или оформления подписки Stripe создаёт данные клиента и подписки. Затем Members add-on создаёт или связывает пользователя WordPress, назначает ему роль участника и сохраняет профиль участника, где связаны пользователь, Stripe customer и Stripe subscription. На стороне сайта защищённая страница проверяет не факт оплаты как текстовую отметку, а соответствующий уровень доступа.
Эта механика делает CodeCanyon WP Full Stripe Members удобным для сайтов, где уже используется Stripe и не нужна тяжёлая торговая система. Вместо отдельной корзины, каталога товаров и сложной схемы заказов вы получаете подписочную форму, уровни доступа и защищённый контент. Но такая простота требует аккуратности: если тариф Stripe не сопоставлен с ролью, пользователь может оплатить подписку, но участником не станет.
Цепочка регистрации подписчика
С точки зрения администратора цепочка выглядит так:
- В Stripe создаются продукты и повторяющиеся цены для тарифов.
- В WP Full Pay создаётся форма подписки, в которую добавлены эти цены.
- В настройках Members каждый план Stripe назначается уровню доступа, например Basic, Bronze, Silver, Gold или All Access.
- Посетитель оформляет подписку через форму на сайте.
- Плагин создаёт пользователя WordPress, назначает роль и отправляет регистрационное письмо с данными входа.
- Пользователь входит на сайт и получает доступ к страницам или фрагментам, разрешённым для его уровня.
Ключевая проверка после настройки - убедиться, что тестовый пользователь появился не только в Stripe, но и в списке Members в WordPress, а его роль соответствует купленному плану.
Где чаще всего ломается цепочка
В этой цепочке есть три точки, которые нужно проверять отдельно. Первая - форма подписки: она должна предлагать именно тот recurring price, который вы затем назначаете роли. Вторая - member record: он должен содержать связь с WordPress user, Stripe customer и Stripe subscription. Третья - защищённая страница: она должна требовать тот уровень, который действительно назначается пользователю после оплаты.
Если все три места проверяются отдельно, диагностика становится короткой. Вы больше не гадаете, "не работает ли плагин", а видите конкретную потерянную связь: план не попал в форму, роль не назначена, статус не синхронизирован или страница требует более высокий уровень.
Проверка доступа при открытии закрытой страницы
Когда подписчик открывает закрытую страницу, продукт сначала проверяет, вошёл ли посетитель в WordPress. Если нет, пользователь отправляется на страницу входа. После входа плагин сверяет уровень участника с минимальным уровнем, указанным для страницы или фрагмента. Если уровень подходит, контент показывается. Если нет, посетитель получает страницу отказа в доступе, которую администратор выбирает в настройках.
Поэтому в руководстве дальше постоянно повторяется одна практическая мысль: проверять надо не только форму оплаты. Надо пройти весь путь от Stripe-плана до роли WordPress и результата на закрытой странице.
Кому подходит такой способ монетизации, а кому лучше выбрать другой стек
CodeCanyon WP Full Stripe Members хорошо ложится на сайты, где платный доступ строится вокруг подписки, а не вокруг корзины. Это может быть библиотека материалов, закрытый раздел с инструкциями, клубная зона, простая база знаний, премиальная рассылка с архивом на сайте или небольшой учебный портал без сложной системы уроков.
Когда продукт будет удачным выбором
Плагин особенно полезен, если у вас уже выбран Stripe как платёжная основа и вы хотите оставить оплату подписок внутри WP Full Pay. В этом случае Members add-on добавляет недостающую часть: уровни членства и серверную проверку доступа к контенту. Он не заставляет перестраивать сайт под магазин и не требует создавать товары WooCommerce только ради подписки.
- Нужны несколько уровней доступа, где старший тариф видит контент младших уровней.
- Нужно автоматически создавать пользователей WordPress после оформления подписки.
- Нужен личный кабинет, где подписчик может управлять подпиской, картой, сменой плана и счетами через Customer Portal.
- Нужно защищать не только целые страницы, но и отдельные фрагменты с помощью шорткодов.
- Нужен импорт уже существующих подписчиков из Stripe, если у них есть подходящие данные и план привязан к роли.
Когда стоит смотреть на альтернативы
Если вам нужен полноценный магазин, доступ к продуктам, скидки участникам, сложные статусы заказов и интеграция с физическими товарами, лучше рассматривать WooCommerce Memberships вместе с подписочной системой. Если нужны курсы, квизы, прогресс обучения и уроки, обычный membership add-on не заменит систему обучения. Если нужен крупный личный кабинет с профилями, каталогом участников, группами и социальными функциями, потребуются отдельные инструменты.
Самый частый неверный выбор - брать лёгкий Stripe-membership инструмент для проекта, где на самом деле нужна учебная платформа или торговая система. CodeCanyon WP Full Stripe Members решает задачу доступа по подписке, но не должен становиться заменой всему бизнес-процессу сайта.
Что проверить перед установкой и первым включением
До установки важно понять, от чего зависит стабильность всей схемы. Members add-on не работает сам по себе: ему нужен установленный и настроенный WP Full Pay, рабочее подключение Stripe и понятная модель доступа. Если этот фундамент не готов, ошибка проявится не на странице установки, а позже, когда тестовый подписчик оплатит тариф и не увидит закрытый материал.
Базовая готовность WordPress, WP Full Pay и Stripe
Проверьте, что WP Full Pay установлен, активирован и способен создавать формы подписки. В настройках Stripe account должен быть понятен текущий режим: тестовый или рабочий. Для первого запуска лучше использовать тестовый режим, потому что он позволяет пройти оплату без реального списания и проверить, какие записи появляются в Stripe, Members и WordPress.
- В Stripe должны быть созданы продукты и повторяющиеся цены для будущих уровней подписки.
- В WP Full Pay должна быть форма подписки, куда добавлены нужные планы.
- На сайте должна быть страница для формы подписки и отдельная страница для Customer Portal.
- Должна быть страница отказа в доступе, объясняющая пользователю, что требуется другой уровень подписки или вход в аккаунт.
- Почта WordPress должна отправляться стабильно, иначе подписчик может не получить письмо с данными входа.
Почему тестовый и рабочий режимы нельзя смешивать
Stripe разделяет тестовые и рабочие данные. Если форма в WordPress показывает тестовый план, а вы ожидаете участника по рабочему плану, сопоставление не сработает так, как вы задумали. Такая ошибка выглядит странно: в интерфейсе всё похоже на правильную настройку, но member record не появляется или получает не ту связь.
Перед запуском заведите отдельный чек-лист: тестовый режим пройден, рабочие продукты созданы, рабочие prices добавлены в форму, рабочие plans назначены ролям, тестовая форма не опубликована на публичной странице. Переключение в live mode - это не финальный клик, а повторение всей цепочки на рабочем наборе Stripe-данных.
Кеш, безопасность и страница входа
Официальная документация отдельно предупреждает о кешировании защищённого контента. Логика доступа выполняется на сервере при запросе страницы. Если кеширующий плагин или серверный кеш отдаёт готовую копию страницы напрямую, проверка роли может не выполниться. Это особенно критично для страниц с премиальными материалами и для страниц, где часть контента показывается через members-шорткоды.
Перед запуском подготовьте исключения из кеша для страниц подписки, Customer Portal, страницы отказа в доступе и всех реально закрытых страниц. Если у вас есть CDN, кеш на уровне хостинга или агрессивная оптимизация HTML, добавьте эти страницы в исключения и проверьте их в режиме инкогнито. Закрытый контент нельзя проверять только из админской сессии, потому что администратор часто видит больше обычного подписчика.
Модель уровней доступа до кликов в админке
Сначала нарисуйте модель доступа на бумаге или в документе. Например: Basic получает вводные материалы, Bronze получает Basic плюс библиотеку шаблонов, Silver получает Bronze плюс закрытые разборы, Gold получает всё перечисленное плюс архив вебинаров. Такая иерархия соответствует логике рангов: более высокий уровень видит контент младших уровней.
Если в проекте уровни независимые, а не иерархические, Members add-on может оказаться менее удобным. В таком случае заранее проверьте, сможете ли вы выразить нужную модель через доступ "минимальный уровень и выше".
Установка и первичная проверка без лишнего риска
Установка add-on обычно начинается из админ-панели WordPress, где доступна страница add-ons WP Full Pay или обычный экран плагинов. В этом руководстве намеренно нет инструкций по покупке, ключам или обходу лицензирования. Рабочая задача начинается после того, как у вас есть легальный архив или доступная установка add-on и уже настроен основной WP Full Pay.
Порядок установки
- Сделайте резервную копию сайта или выполните установку на staging-копии.
- Убедитесь, что WP Full Pay активен и подключён к Stripe в тестовом режиме.
- Установите Members add-on через доступный вам штатный способ.
- Активируйте плагин и откройте раздел
WP Full Payв админ-панели. - Проверьте, появился ли раздел
Membersи настройки add-on. - Создайте одну тестовую страницу отказа в доступе, если её ещё нет.
После активации не переходите сразу к рабочим подпискам. Сначала откройте список участников и настройки ролей. Если разделы не появились, проверьте, активен ли основной WP Full Pay, нет ли ошибок PHP в журнале и не заблокировал ли сайт загрузку add-on из-за несовместимости.
Мини-проверка после активации
Хороший первый тест занимает несколько минут. Создайте один тестовый тариф в Stripe, добавьте его в форму подписки, назначьте плану минимальный уровень доступа и оформите подписку тестовой картой. После этого проверьте три места: список подписок в Stripe, список Members в WordPress и фактический доступ тестового пользователя к закрытой странице.
Если оплата прошла, но участник не появился в WordPress, проблема почти всегда находится между формой подписки, планом Stripe и назначением роли в настройках Members.
Связка тарифов Stripe с уровнями доступа
Это главный раздел настройки. Members add-on работает только тогда, когда Stripe-план связан с membership role. В документации подчёркнуто: только планы, назначенные уровню доступа, запускают создание участника при подписке. Неиспользуемые уровни можно оставить как Not used, а один план назначается только одному уровню.
Как читать роли Basic, Bronze, Silver, Gold и All Access
В настройках предусмотрена иерархия уровней. Basic - младший доступ, Bronze выше Basic, Silver выше Bronze, Gold выше Silver, All Access видит всё. Внутренняя роль No Access используется для участников, которые не должны получать доступ из-за отменённой, неоплаченной или другой неактивной подписки. Эту роль не нужно назначать плану.
Практически это означает: если страница защищена на уровне Silver, её увидят Silver, Gold и All Access. Bronze и Basic увидят страницу отказа в доступе. Такая схема удобна для классической лестницы тарифов, но неудобна для независимых пакетов вроде "спорт", "финансы", "дизайн", где один пользователь может иметь доступ только к отдельной тематике.
Какие настройки проверить в Roles
- Каждый продаваемый тариф Stripe назначен ровно одному уровню.
- Тарифы названы так, чтобы их легко отличить в выпадающих списках.
- Неиспользуемые уровни оставлены как
Not used. - Тестовые и рабочие планы не перемешаны: тестируйте в тестовом режиме, перед запуском повторите настройку для рабочих планов.
- Для старших уровней заранее понятно, какие страницы они должны видеть сверх младших.
Как выбрать минимальный уровень для страницы
Выбор минимального уровня лучше делать от ценности материала, а не от названия тарифа. Если страница должна быть доступна всем платным подписчикам, выбирайте младший уровень. Если это бонус для среднего тарифа, ставьте Silver или аналогичный уровень. Если это архив, консультационные материалы или закрытая база для старших участников, выбирайте Gold или All Access.
После выбора уровня откройте страницу под пользователем младшего уровня и под пользователем нужного уровня. Это быстрый способ проверить иерархию. Если младший пользователь видит материал, значит минимальный уровень выбран слишком низко или страница отдана из кеша. Если старший пользователь не видит материал, смотрите роль member record и статус подписки.
Настройки доступа после ролей
Во вкладке settings проверьте страницу отказа в доступе, время жизни входа, ежедневную проверку статусов участников и поведение для статуса past due. В большинстве обычных проектов полезно оставить ежедневную проверку статусов включённой, потому что она помогает догнать изменения в Stripe, если webhook не сработал или сайт временно был недоступен. Отключать её стоит только осознанно, например на очень крупном сайте после замера нагрузки и настройки альтернативной синхронизации.
Параметр блокировки past due зависит от политики доступа. Если подписчик не оплатил продление и Stripe ещё пытается списать платёж, можно либо сразу закрыть доступ, либо дать короткий период мягкого доступа. Для платной библиотеки с автоматическим доступом чаще безопаснее блокировать past due. Для клубного проекта, где важна лояльность и есть ручная поддержка, иногда допустим мягкий режим, но его нужно проверить в тестовом аккаунте.
Форма подписки, Customer Portal и письмо регистрации
После ролей нужно собрать пользовательский путь. Он состоит из страницы выбора тарифа, оплаты подписки, регистрационного письма и Customer Portal. Если один из элементов не готов, подписчик может успешно оплатить доступ, но застрять на входе, не понять, как сменить карту, или написать в поддержку из-за отсутствия счёта.
Форма подписки как точка входа
В WP Full Pay форма подписки создаётся в админ-панели через form editor. В неё добавляются recurring prices из Stripe, затем форма вставляется на страницу через shortcode или блок, если он доступен в вашей версии. Для membership-сценария важно не просто показать кнопку оплаты, а добавить именно те планы, которые затем назначены ролям Members.
Если на сайте есть таблица тарифов, можно использовать один из подходов из документации WP Full Pay: вставить checkout form shortcode в ячейку тарифной таблицы, отправить пользователя на отдельную страницу с inline form или встроить форму в всплывающее окно, если это поддерживает тема или плагин таблиц. Для membership-сайта обычно проще начать с отдельной страницы "Выберите тариф", а уже после тестов переносить форму в красивую тарифную таблицу.
Customer Portal для самообслуживания подписчика
Customer Portal позволяет участнику управлять подписками, картой и счетами. Для Members-сценария в документации указан shortcode с WordPress-аутентификацией: [fullstripe_customer_portal authentication="Wordpress"]. Этот вариант логичен, потому что Members add-on создаёт пользователя WordPress в процессе подписки, а портал ищет Stripe customer по данным вошедшего пользователя.
На странице портала проверьте, что не вошедший пользователь отправляется на страницу входа WordPress, вошедший пользователь без платежей видит понятное сообщение, а подписчик с активной подпиской видит свою подписку и доступные действия. Если включаете смену плана или отмену подписки, заранее решите, когда отмена должна срабатывать: сразу или в конце оплаченного периода. Это влияет на доступ к закрытому контенту.
Регистрационное письмо и ожидания пользователя
Members add-on отправляет письмо с данными входа новому участнику. В шаблоне письма можно использовать специальные placeholder tokens, включая %USERNAME% и %PASSWORD%. Текст письма должен объяснять три вещи: где войти, где открыть закрытый раздел и где управлять подпиской. Не перегружайте письмо рекламой. После оплаты пользователь хочет попасть в закрытый раздел, а не читать длинный приветственный текст.
Проверяйте письмо на реальном почтовом ящике, а не только в журнале отправки. Доставка, папка спама и понятность текста важнее того, что WordPress технически вызвал отправку.
Что написать на странице отказа в доступе
Страница no access page не должна быть сухой ошибкой. Для подписчика это навигационный экран: он либо не вошёл, либо пытается открыть материал старшего уровня, либо его подписка потеряла активный статус. Хорошая страница отказа содержит короткое объяснение, ссылку на вход, ссылку на Customer Portal и ссылку на страницу тарифов. При этом не раскрывайте на ней закрытый материал и не показывайте технические статусы Stripe обычному пользователю.
Для администратора эта страница также полезна как маркер. Если тестовый пользователь попал именно на неё, значит механизм отказа сработал. Дальше проверяйте, должен ли он был туда попасть. Такой подход лучше, чем пустая 404-страница или редирект на главную, где непонятно, что произошло.
Защита страниц, фрагментов и пользовательских типов записей
Смысл CodeCanyon WP Full Stripe Members раскрывается не в форме оплаты, а на странице, где доступ должен отличаться для гостя, подписчика младшего уровня и подписчика старшего уровня. Продукт поддерживает несколько сценариев: защита всей страницы, показ или скрытие отдельного фрагмента и расширение защиты на записи или пользовательские типы записей через фильтр.
Защита всей страницы
Для страницы или поддерживаемого типа записи нужно оставить стандартную видимость WordPress как Public, а доступ ограничить через блок Members, где включается subscriber only и выбирается минимальный membership level. Это важный нюанс: стандартная приватность WordPress и membership-защита решают разные задачи. Если сделать страницу private средствами WordPress, обычный подписчик может не увидеть её вовсе.
После сохранения страницы проверьте четыре состояния: гость, вошедший пользователь без роли, подписчик нужного уровня и подписчик старшего уровня. Только такая проверка показывает, что иерархия работает правильно.
Фрагменты внутри открытой страницы
Иногда закрывать всю страницу не нужно. Например, вводный текст должен быть открыт для всех, а видео, файл или подробный чек-лист - только для подписчиков. Для этого документация описывает шорткоды [fullstripe_members_display_fragment] и [fullstripe_members_hide_fragment]. Первый показывает содержимое только участникам указанного уровня или выше. Второй скрывает фрагмент от участников указанного уровня или выше, что удобно для upgrade-подсказок.
[fullstripe_members_display_fragment role="Silver"]
<div>Материал доступен участникам Silver и выше.</div>
[/fullstripe_members_display_fragment]
Не используйте шорткоды как защиту для файлов, которые лежат по прямой публичной ссылке. Если файл можно открыть напрямую без WordPress-проверки, скрытие ссылки на странице не делает файл защищённым. Для действительно ценных файлов нужна отдельная стратегия хранения и выдачи доступа.
Пользовательские типы записей
По умолчанию в актуальной справке говорится о защите страниц, а для записей и пользовательских типов используется фильтр fullstripe_members_supported_post_types. Это безопаснее, чем править файлы плагина. Например, если вам нужно добавить обычные записи WordPress в список поддерживаемых типов, можно использовать небольшой фрагмент через Code Snippets или файл дочерней темы.
add_filter( 'fullstripe_members_supported_post_types', function ( $post_types, $params ) {
if ( ! in_array( 'post', $post_types, true ) ) {
$post_types[] = 'post';
}
return $post_types;
}, 10, 2 );
После добавления фильтра откройте редактор обычной записи и проверьте, появился ли блок Members. Если блок не появился, отключите snippet, очистите кеш админки и проверьте журнал ошибок. Откат простой: выключить snippet или удалить его из дочерней темы. Не редактируйте ядро WordPress и файлы Members add-on ради такой задачи.
Когда не стоит расширять список типов записей
Не добавляйте в защиту все типы записей подряд. Некоторые типы создаются темой, конструктором страниц или сторонним плагином и могут использоваться для системных блоков, шаблонов, форм или навигации. Если случайно закрыть такой тип, можно получить неожиданный результат на публичной части сайта. Начинайте с одного типа, проверяйте редактор и только затем расширяйте список.
Безопасная логика такая: добавить один post type, открыть его редактор, защитить тестовую запись, проверить гостя, младшего подписчика и нужного подписчика, затем повторить для следующего типа. Массовое включение без проверки создаёт больше проблем, чем экономит времени.
Практический пример: закрытая библиотека с тремя тарифами
Разберём реалистичный сценарий. На сайте есть открытые статьи, платная библиотека и три уровня доступа: Basic для стартовых материалов, Silver для практических шаблонов и Gold для полного архива. Цель - сделать так, чтобы посетитель выбрал тариф, оплатил подписку, получил пользователя WordPress и увидел материалы своего уровня.
Цель и подготовка
Нужно получить три понятных результата. Первый - тестовая подписка создаётся в Stripe. Второй - пользователь появляется в WordPress и Members со статусом и ролью. Третий - закрытая страница корректно открывается только пользователям нужного уровня. До начала должны быть готовы продукты и recurring prices в Stripe, WP Full Pay в тестовом режиме, Members add-on, страница подписки, страница Customer Portal и страница отказа в доступе.
Шаги настройки
- В Stripe создайте три повторяющихся цены, соответствующие будущим тарифам Basic, Silver и Gold.
- В WP Full Pay создайте subscription form и добавьте эти цены в форму.
- Вставьте shortcode формы на страницу выбора тарифа и сохраните страницу.
- Откройте настройки Members и назначьте каждый Stripe-план соответствующей роли.
- В настройках Members выберите страницу отказа в доступе и проверьте параметр блокировки past due.
- Создайте страницу Customer Portal с shortcode
[fullstripe_customer_portal authentication="Wordpress"]. - Создайте закрытую страницу библиотеки, включите subscriber only и выберите минимальный уровень Silver.
- Оформите тестовую подписку на Silver через отдельный браузер или окно инкогнито.
- Откройте письмо, войдите под созданным пользователем и проверьте доступ к странице библиотеки.
Ожидаемый результат и нюанс
Пользователь с Silver должен увидеть страницу Silver и любые материалы ниже по иерархии. Пользователь Basic должен попасть на no access page. Пользователь Gold должен видеть всё, что доступно Silver. Если пользователь оплатил подписку, но получил отказ, проверьте не страницу, а связку план -> role -> member record -> subscription status. Именно там чаще всего теряется логика.
Не запускайте рабочие тарифы, пока этот сценарий не пройден в тестовом режиме. На membership-сайте ошибка доступа заметнее, чем ошибка дизайна: человек платит именно за закрытый материал.
Мини-итог примера
После такой настройки у вас появляется повторяемый рабочий сценарий. Вы знаете, какой тариф создаёт какую роль, какая страница требует какой уровень и где пользователь управляет подпиской. Если позже нужно добавить новый материал, вы не начинаете настройку с нуля: достаточно выбрать минимальный уровень доступа и проверить страницу под тестовыми ролями.
Если нужно добавить новый тариф, сначала решите, вписывается ли он в существующую иерархию. Например, тариф между Silver и Gold может быть неудобен, если интерфейс уровней уже фиксирован. В этом случае иногда лучше изменить содержимое существующего уровня, чем пытаться силой расширять структуру плагина.
Практичные идеи применения для разных типов сайтов
Функции Members add-on не ограничиваются страницей "премиум-доступ". Если правильно связать тарифы, роли и фрагменты, можно собрать несколько устойчивых сценариев без превращения сайта в магазин. Ниже - идеи, которые опираются на подтверждённую логику подписок, ролей, Customer Portal и защиты контента.
Платная библиотека материалов
Для библиотеки удобно использовать иерархию уровней. Basic открывает вводные руководства, Silver - шаблоны и практические материалы, Gold - архив и бонусные разделы. На страницах материалов ставится минимальный уровень доступа. В открытых статьях можно оставлять краткую часть и скрывать download-блок через shortcode display fragment.
Проверка результата проста: создайте тестовых пользователей каждого уровня и откройте одну и ту же страницу. Разница должна быть предсказуемой. Если разные пользователи видят одинаковый закрытый блок, ищите проблему в кеше или в роли, указанной в shortcode.
Закрытый клуб или профессиональное сообщество
Для клуба важны не только материалы, но и самообслуживание. Customer Portal снижает нагрузку на администратора: участник может обновить карту, отменить подписку, скачать счета или сменить план, если такие действия разрешены в настройках портала. Страница no access page должна быть не тупиком, а понятным экраном: "войдите", "обновите подписку" или "выберите другой тариф".
Мини-обучение без полноценной LMS
Если вам не нужны тесты, прогресс уроков и сложная логика курсов, можно сделать закрытый раздел с модулями-страницами. Разделы защищаются по уровню, а открытая страница курса показывает программу. Внутри уроков можно использовать фрагменты для бонусных материалов старшего тарифа. Но если понадобятся домашние задания, сертификаты и учёт прогресса, стоит добавить специализированную систему обучения или выбрать другой стек.
Как проверить результат перед запуском на рабочем сайте
Проверка результата должна имитировать поведение реального подписчика. Администраторская сессия не подходит: она часто обходит ограничения, показывает скрытые элементы и не отражает реальную почтовую доставку. Создайте отдельный тестовый email, отдельный браузерный профиль и тестовый тариф, чтобы пройти весь путь без специальных прав.
Контрольный маршрут тестового подписчика
- Откройте страницу подписки как гость и убедитесь, что форма видна.
- Оформите тестовую подписку на один тариф.
- Проверьте, что в Stripe появилась подписка и customer.
- Проверьте, что в WordPress появился пользователь.
- Проверьте, что в
WP Full Pay->Membersпоявился member record с правильной ролью и режимом API. - Откройте закрытую страницу до входа - должен сработать вход или отказ.
- Войдите под тестовым пользователем и повторите открытие страницы.
- Откройте Customer Portal и проверьте, видна ли подписка.
- Проверьте страницу младшего и старшего уровня, чтобы убедиться в иерархии.
Проверка отмены и просрочки
У membership-сайта важен не только вход, но и выход из подписки. Если пользователь отменяет подписку в Customer Portal, настройки портала и статусы Stripe определяют, когда он потеряет доступ. Если подписка получает past due, поведение зависит от настройки block past due. Если подписка становится unpaid или canceled, доступ должен быть закрыт.
Проверяйте такие состояния на тестовом окружении. Не пытайтесь вручную менять роль WordPress как основной способ управления доступом. В этом продукте роль должна следовать подписке, иначе в базе появится расхождение: Stripe считает одно, WordPress показывает другое, а поддержка не понимает, почему пользователь видит или не видит материал.
Что смотреть в журнале и админке
Если доступ не обновился после изменения статуса подписки, проверьте журнал ошибок WordPress, журнал WP Full Pay, если он включён, и события в Stripe. Важно понять, дошёл ли сигнал до сайта. Если событие есть в Stripe, но сайт его не обработал, проверьте webhooks, доступность endpoint и ошибки на стороне хостинга. Если события в Stripe нет, проблема может быть в самой тестовой операции или в том, что вы меняете не ту подписку.
Не исправляйте симптом вручную, пока не нашли источник расхождения. Ручная смена роли может временно открыть доступ, но следующая синхронизация снова вернёт пользователя в состояние, которое считает правильным Stripe или Members add-on.
Безопасные доработки без правки файлов плагина
Официальная документация содержит разработческие точки расширения: фильтры для письма регистрации, Customer Portal, thank you page и список поддерживаемых типов записей. Это нормальный путь для небольших адаптаций. При этом документация по добавлению новых membership levels через изменение файлов add-on прямо предупреждает, что такие правки не поддерживаются и будут перезаписаны при обновлении. Поэтому в обычном руководстве безопаснее не предлагать редактировать файлы продукта.
Добавить защиту обычных записей
Самый практичный безопасный snippet уже показан выше: фильтр fullstripe_members_supported_post_types добавляет post в список защищаемых типов. Он основан на официальной документации фильтра и не меняет файлы плагина. Вставляйте его через Code Snippets или дочернюю тему, проверяйте появление meta box и держите откат под рукой.
Аккуратно изменить письмо регистрации
Для письма регистрации документация называет фильтры fullstripe_modify_email_subject и fullstripe_modify_email_message, а для Members-письма нужно проверять template identifier registrationSuccessful. Это подходит для добавления ссылки на страницу входа или короткой инструкции. Не добавляйте в письмо пароль в дополнительные места и не отправляйте копии на лишние адреса без причины: письмо уже содержит чувствительные данные входа.
Если нужна сложная логика писем, лучше сначала настроить стандартный шаблон в WP Full Pay -> Settings -> Email Notifications -> Templates, а код использовать только для маленького изменения, которое нельзя сделать через интерфейс.
Ограничения, совместимость и спорные решения
У продукта есть несколько ограничений, которые лучше принять до запуска. Они не делают плагин плохим, но определяют его правильную область применения. Чем раньше вы их проверите, тем меньше ручных исправлений понадобится после первых подписчиков.
Фиксированные уровни и иерархия
В интерфейсе используются заранее заданные уровни. Документация описывает способ добавить больше уровней через правку файлов add-on, но сама же предупреждает, что такой подход требует технической уверенности, не поддерживается разработчиком и будет перезаписан при обновлении. Для большинства сайтов разумнее адаптировать модель тарифов под существующую иерархию или выбрать membership-плагин с гибким конструктором уровней.
Кеш и защищённые страницы
Кеш - главный внешний риск. Любой механизм, который отдаёт HTML без запуска WordPress-кода, может обойти проверку membership-доступа. Исключайте закрытые страницы и портальные страницы из кеша, проверяйте их гостем и подписчиком, не полагайтесь на внешний вид админской сессии. Это касается кеш-плагинов, серверного кеша и CDN.
Миграции и старые установки
Если сайт использует старую CodeCanyon-линейку WP Full Stripe, перед обновлением изучите инструкции миграции WP Full Pay. В документации есть отдельные материалы о переходе к новой ветке и о различиях старых форм. Не обновляйте живой membership-сайт без staging-копии: подписки, роли, порталы и защищённые страницы нужно проверить как связанную систему.
Диагностика ошибок доступа, подписок и кабинета
Ошибки в membership-сценарии часто выглядят одинаково для пользователя: "я оплатил, но доступа нет". Для администратора это разные проблемы. Ниже - практическая таблица, которая помогает быстро отделить сбой оплаты от сбоя роли, кеша, входа или статуса подписки.
| Симптом | Что проверить | Вероятная причина | Как исправить |
|---|---|---|---|
| Оплата прошла, но участник не создан | Форму подписки, план Stripe, назначение роли в Members | План не сопоставлен с membership level или используется не тот режим API | Назначить план роли, повторить тест в том же режиме, где создан план |
| Участник создан, но закрытая страница не открывается | Роль участника, минимальный уровень страницы, статус подписки | Страница требует более высокий уровень или подписка получила неактивный статус | Исправить минимальный уровень, проверить subscription status, повторить вход |
| Гость видит закрытый материал | Кеш страницы, CDN, server cache, настройки protected content | Кеш отдаёт сохранённый HTML без серверной проверки доступа | Исключить защищённые страницы из кеша, очистить кеш, проверить в инкогнито |
| Customer Portal не показывает подписку | Shortcode, режим аутентификации, email пользователя, Stripe customer | Использован не WordPress authentication или пользователь не связан с customer | Для Members-сценария использовать authentication="Wordpress" и проверить member record |
| Не приходит письмо с данными входа | Почтовую отправку WordPress, шаблон email, spam folder | Сайт не отправляет почту или письмо фильтруется | Настроить SMTP, упростить шаблон, провести тест на реальном email |
| После отмены подписки доступ ведёт себя неожиданно | Настройку отмены в Customer Portal, статус подписки, cron job | Отмена настроена на конец периода или статус ещё не синхронизирован | Проверить политику отмены, дождаться синхронизации или проверить webhooks и cron |
Порядок проверки, если подписчик жалуется на доступ
- Найдите пользователя в WordPress по email.
- Откройте его запись в Members и проверьте роль, статус и Stripe IDs.
- Сверьте subscription ID в Stripe и посмотрите текущий статус подписки.
- Откройте защищённую страницу и проверьте минимальный membership level.
- Очистите кеш только для этой страницы и повторите проверку в отдельном браузере.
- Если всё выглядит правильно, временно создайте тестового пользователя с тем же уровнем и сравните результат.
Когда лучше откатить настройку
Откатывайте изменения, если после включения кеш-исключений сайт показывает разный результат в разных браузерах, если after-payment redirect ведёт на неправильную страницу, если snippet для custom post types ломает редактор или если статус подписки вручную исправляется в WordPress, но снова сбивается после синхронизации. В таких случаях проблема лежит в источнике данных или интеграции, а не в отдельной странице.
Вопросы, которые стоит закрыть до запуска подписок
Можно ли использовать CodeCanyon WP Full Stripe Members без WP Full Pay или WP Full Stripe?
Нет. Это add-on, а не самостоятельный membership-плагин. Ему нужен основной WP Full Pay или совместимая установка WP Full Stripe, потому что формы подписки, Stripe-связь и часть настроек находятся в основном продукте.
Почему подписчик оплатил тариф, но не получил доступ?
Проверьте, назначен ли Stripe-план membership role, совпадает ли режим API, создан ли member record и какой статус у подписки. Если все данные правильные, проверьте кеш закрытой страницы.
Можно ли защитить только часть страницы?
Да. Для этого используются шорткоды display fragment и hide fragment. Они полезны для бонусных блоков, файловых ссылок и upgrade-подсказок, но не заменяют отдельную защиту файлов, доступных по прямому URL.
Можно ли добавить свои уровни доступа через интерфейс?
В интерфейсе используются фиксированные уровни. Документация описывает технический путь через изменение файлов add-on, но такой путь рискован для обновлений и не подходит обычному администратору. Безопаснее адаптировать тарифы под существующую иерархию или выбрать другое решение.
Нужно ли исключать закрытые страницы из кеша?
Да. Официальная документация объясняет, что проверка доступа выполняется серверным кодом. Если кеш отдаёт готовую HTML-копию, проверка может быть обойдена. Исключайте защищённые страницы, страницу портала и страницу отказа из кеша.
Какой shortcode нужен для Customer Portal в membership-сценарии?
Для сценария, где у подписчика есть пользователь WordPress, используйте [fullstripe_customer_portal authentication="Wordpress"]. Такой портал использует вошедшего пользователя и его связь со Stripe customer.
Стоит ли вручную менять роли WordPress у участников?
Для разового исправления на тестовом сайте это может помочь понять проблему, но как рабочий процесс так делать не стоит. Роль должна следовать подписке и настройке Members. Иначе Stripe, member record и WordPress role начнут расходиться.
Когда CodeCanyon WP Full Stripe Members будет удачным выбором
Этот продукт стоит использовать, если вам нужен понятный платный доступ на базе Stripe-подписок, а WP Full Pay уже подходит как платежный слой. Он особенно хорош для закрытых библиотек, клубов, архивов материалов и простых платных разделов, где важны роли, подписки, Customer Portal и защита страниц без полноценного магазина.
Перед рабочим запуском пройдите тестовый маршрут полностью: форма подписки, создание пользователя, назначение роли, письмо входа, Customer Portal, закрытая страница, отмена или просрочка. Если всё работает на staging-копии и кеш не мешает проверке доступа, можно перейти к скачиванию CodeCanyon WP Full Stripe Members и переходить к аккуратной настройке на своём сайте.
Если же вам нужны независимые группы доступа, глубокая учебная логика, магазин с товарами или сложная система профилей, лучше сразу сравнить продукт с альтернативами. Правильный выбор здесь не тот, где больше функций, а тот, где подписчик после оплаты без ошибок получает ровно тот доступ, за который заплатил.


