Думаю, я разобрался — [discourse_latest] сам по себе не является корректным шорткодом, мне показалось, что я видел его где-то. Я заменил его на [discourse_topics source=“latest”] и всё заработало.
Смущённая улыбка
Рэй
P.S. Как можно изменить форматирование даты в последних темах, отображаемых через шорткод, @simon? Сейчас она показывается как 2020-10-20, а я бы хотел видеть что-то вроде Oct-20 или подобное.
Я почти уверен, что плагин шорткодов использует формат даты и времени, установленный на вкладке «Настройки комментариев WP Discourse». Нажмите на ссылку в описании этого параметра, чтобы увидеть доступные варианты форматирования дат.
Не могли бы вы по умолчанию добавлять имена пользователей в качестве заголовков аватаров или в качестве опции шорткода, а также, возможно, добавить ещё одну опцию для отключения отображения имён (например, display_usernames = “false”)? Временное решение: если кому-то это нужно, перейдите в wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php и замените
Кроме того, на фронтенде возникает следующая ошибка: Warning: Invalid argument supplied for foreach() в /home/customer/www/web.com/public_html/wp-content/plugins/wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php на строке 94.
Если это поможет, RSS-канал моего сообщества работает отлично и содержит все темы. Что я мог упустить? Буду благодарен за помощь
Редакция и обновление: Похоже, переменная topics не заполняется в коде.
Строка 94: foreach ( $topics as $topic ) {
.....
}
// Определение переменной темы
if ( $use_plugin_formatting ) {
$topics = $discourse_topics['topic_list']['topics'];
}
Я разобрался. Чекбокс для отображения приватных постов не был включен. Кроме того, ошибку можно исправить, добавив проверку на значение null для переменной $topics. Я сделал это, и всё заработало как надо.
Какой вариант позволяет обновить в Discourse аватар пользователя из его последнего профиля в WordPress?
Использование вебхука для синхронизации данных пользователей с Discourse — я создал его, и он работает между двумя сайтами, но не обновляет аватар профиля пользователя в Discourse.
Это наконец стало приоритетом в моем списке, поэтому завтра я займусь этим плагином: исправлю некоторые ошибки и отвечу на ваши вопросы. Извините за долгую задержку.
Я тщательно протестировал плагин, исправил несколько ошибок, две из которых были связаны с неудачным обновлением кэша вывода шорткодов, обновил файл README и выкатил новую версию.
Однако я всё ещё вижу одну серьёзную проблему: шорткоды [discourse_topics] с разными категориями работают некорректно. Исправление этого потребует значительных усилий. Я займусь этим сразу после своего предстоящего отпуска.
В данном случае я использую только один шорткод, поэтому не уверен, что у меня должны возникать такие проблемы. Я хотел бы отображать приватные темы, но только из определённых категорий (которые объединены под одной родительской категорией). Ни ID родительской категории (например, [discourse_topics category="5" ... ]), ни ID подкатегорий (например, [discourse_topics category="6,7,8,9,17" ... ]) не позволяют ограничить результаты этими категориями (показываются дополнительные приватные темы, которые не должны отображаться). Не подскажете, является ли это ожидаемым поведением на данный момент (которое вы планируете исправить)?
Несколько идентификаторов категорий не поддерживаются.
Это действительно не является ожидаемым поведением.
Быстрое решение может заключаться в снятии галочки «Отображать приватные темы» на вкладке настроек. Это не решит проблему выбора неправильной категории(ий), но предотвратит появление приватных тем в WordPress.
Пожалуйста, проверьте логи на стороне Discourse и найдите там вызов API. Вызов API происходит при редактировании и изменении страницы на стороне WordPress.