Я настраиваю сайт на WordPress и хочу разместить ссылку на тему в Discourse для конкретного поста в произвольном месте HTML.
(Детали: Я настраиваю сайт курса LearnDash, и режим «фокуса» LearnDash убирает большую часть стандартных элементов макета WordPress, включая комментарии. Я хотел бы использовать один из хуков LearnDash, чтобы вставить ссылку на форум для конкретного урока.)
Может ли кто-то подсказать, в каком направлении искать код wp-discourse, который можно вызвать для генерации разметки «ссылка на тему»?
Мне даже не нужно загружать список комментариев Discourse; мне хватило бы ссылки на ветку Discourse. Но я не могу понять, как использовать код wp-discourse, чтобы получить эту ссылку :-/
В итоге я сделал вот что — просто обращаюсь к postmeta, не используя никакой код WP-Discourse.
Мне так и не удалось заставить что-либо работать с выводом списка комментариев… Все найденные мной функции, похоже, хотят вернуть HTML с кучей {плейсхолдеров}
Вы правы. Этот подход больше не работает. Я думаю, что смогу добавить вспомогательную функцию в плагин, чтобы упростить отображение комментариев вне области комментариев WordPress. Мне нужно внести небольшое обновление в плагин в течение следующих нескольких дней; я постараюсь добавить функцию display_discourse_comments в это обновление. Я сообщу вам, когда оно будет доступно.
Я добавил статическую вспомогательную функцию в плагин, которую можно использовать для отображения комментариев без загрузки шаблона комментариев Discourse. Функция находится здесь: get_discourse_comments. Для её использования необходимо передать post_id записи WordPress, для которой нужно отобразить комментарии. Вот простой пример её применения:
<?php
use WPDiscourse\Utilities\Utilities as DiscourseUtilities;
$discourse_comments = DiscourseUtilities::get_discourse_comments( 859 );
echo $discourse_comments;
Она отображает комментарии так же, как это происходит при выборе опции «Включить комментарии Discourse / Отображать комментарии» (находится на вкладке «Настройки комментариев» плагина). При использовании этой функции значение данной опции игнорируется, однако все остальные настройки на этой странице учитываются.