Домой Каталог: Дополнения WP-Recall WP Access Ultimate Скрытие "платных" записей в рассылках темы - нужна помощь
5ответ(ов) в теме
dm1
не в сети 3 года
На сайте с 07.12.2018
Участник
Тем 55
Сообщения 306
1
13:19
Версия WP-Recall: 16.17.2
Версия дополнения: 1.6.0

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

Сейчас я в настройках Ultimate выбираю "полное скрытие" записей (ни заголовка, ничего не видно) из ленты для юзеров, не оплативших доступ. Но в рассылках темы эти записи все равно видны.

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

Код какого файла необходимо прислать, чтобы вы смогли помочь?

Огромное спасибо заранее.

P.S. Аналогично с подпиской на комментарии скрытой темы. Но этот вопрос задал в топике про комментарии.

0
Андрей CS
не в сети 5 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16996
2
13:24

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

0
dm1
не в сети 3 года
На сайте с 07.12.2018
Участник
Тем 55
Сообщения 306
3
13:40

А как быть с RSS (здесь механизм стандартный для всех тем, наверное)? Там платные записи тоже будут видны НЕплатным юзерам. Как быть?

0
Андрей CS
не в сети 5 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16996
4
14:38

ничего по этому поводу сейчас сообщить не могу, надо проверять, возможно через хук pre_get_posts можно влиять на формирование rss

0
Андрей CS
не в сети 5 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16996
5
10:34

Для скрытия закрытых публикаций из RSS пробуйте открыть файл /wp-content/wp-recall/add-on/wp-access-ultimate/index.php, на строке 331 будет условие:

if ( ! is_admin() && $query->is_main_query() )

измените его так:
if ( ! is_admin() && $query->is_main_query() || $query->is_feed)

должно сработать

0
Вы не имеете права на публикацию сообщений в этой теме