Меня интересует использование плагина Facebook Feed (Custom Facebook Feed: Best Facebook feed plugin for WordPress) для WordPress, чтобы доступ к защищённой странице на моём сайте WordPress (где с помощью плагина будет отображаться лента закрытой группы Facebook) имели только зарегистрированные пользователи Discourse с определённым уровнем доверия или состоящие в определённой группе (что проще всего реализовать).
Я думаю, что плагин Custom Facebook Feed публикует ленту, используя тип записей WordPress ‘page’ (страница). Если это так, то должно быть возможно публиковать страницы, созданные плагином, в Discourse, добавив page в настройку «Типы записей для публикации» плагина. Эта настройка находится на вкладке «Параметры публикации» плагина.
Если это сработает, вы сможете публиковать страницы ленты в защищённую категорию Discourse, настроенную так, чтобы доступ к ней имели только члены определённой группы.
Я отправил вам электронное письмо. Технически это сработало отлично. Однако вывод (сама лента Facebook) теряет большую часть форматирования для удобства чтения, а также другие функции (просмотр видео, чтение комментариев и т. д.), и я надеюсь, что у вас может быть решение для этого.
Будет непросто правильно отформатировать содержимое страницы, созданное плагином Custom Facebook Feed, в Discourse. Я хотел бы найти универсальное решение, которое позволяло бы при нажатии на кнопку «Показать полный пост» в Discourse загружать туда сложную разметку WordPress. Если это станет возможным, решением будет публиковать в Discourse только краткое содержание поста, а не полный текст. Пользователи смогут нажимать кнопку «Показать полный пост», чтобы увидеть весь пост. Основная проблема, с которой я сталкиваюсь, — это найти способ позволять iframe-вставкам загружаться в Discourse вместе с развёрнутым постом. Видео с YouTube отображаются на WordPress через iframe. В настоящее время видео удаляются из HTML-кода при нажатии на кнопку «Показать полный пост».
С текущим функционалом Discourse я не уверен, какой подход будет для вас оптимальным. Один из вариантов — публиковать посты из вашей группы Facebook в Discourse через Zapier. Здесь есть руководство по настройке этого процесса: Use the Zapier Discourse Zap Templates. Шаблон Zapier для публикации постов из групп Facebook в Discourse можно найти здесь: https://zapier.com/apps/discourse/integrations/facebook-groups.
Интеграция Discourse + Facebook Groups будет обрабатывать только новые посты, созданные на вашей странице Facebook. Она не будет создавать темы для старых постов Facebook, а также не будет обрабатывать комментарии, реакции или редактирование постов.
Жаль. Похоже, это будет нелегко реализовать, если только Discourse каким-то образом не создаст функцию, позволяющую отображать обычную HTML-страницу (в таком случае — автономный PHP-продукт для этого конкретного решения)?
Это не элегантно, но вы можете использовать iframe, чтобы встроить страницу WordPress на страницу Discourse. Только убедитесь, что на этой странице нет навигации, заголовка или подвала.
iframes действительно ужасны, это один из немногих оставшихся случаев, где они имеют смысл.
Не могли бы вы подсказать, как использовать решение iFrame для встраивания страницы WordPress на страницу Discourse? У меня, кажется, больше нет вариантов, так что это последний шанс заставить это работать. Спасибо!
Я только что разместил объявление на маркетплейсе о следующих проектах, текст которого я скопировал и вставил для вас ниже. Считаете ли вы, что технически это выполнимо элегантным способом?
Мне нужна помощь с двумя проектами.
Первый:
Когда пользователь регистрируется на Discourse через свой аккаунт Facebook, проверить, является ли он участником определенной закрытой группы Facebook (администратором которой я являюсь).
Если пользователь является участником этой группы Facebook, назначить его в конкретную группу пользователей Discourse (что даст ему доступ к приватной категории, доступной только участникам группы).
Если пользователь НЕ является участником этой группы Facebook, зарегистрировать его в обычном режиме с уровнем доверия 0 и без назначения в какие-либо группы.
Второй проект:
Есть ли способ отображать страницу WordPress (содержащую сложную ленту Facebook) ТОЛЬКО для участников Discourse, которые входят в группу, описанную в пункте 2 выше?
Если Facebook позволит вам получать доступ к статусу членства пользователя в группах, то первый проект должен быть реализуем. Вам нужно будет назначать пользователей в группу Discourse через API Discourse. Вызовы API можно выполнять с вашего сайта WordPress. Назначение членства в группах также можно реализовать с помощью плагина Discourse, но этот плагин нельзя будет установить на нашем хостинге.
Второй проект можно реализовать, настроив шаблон publish_format_html плагина WP Discourse так, чтобы он обрабатывал вашу страницу ленты Facebook иначе, чем другие публикации, отправляемые с вашего сайта в Discourse.