Как разместить комментарии Discourse в другом месте, а не в стандартной зоне комментариев?

Я настраиваю сайт на WordPress и хочу разместить ссылку на тему в Discourse для конкретного поста в произвольном месте HTML.

(Детали: Я настраиваю сайт курса LearnDash, и режим «фокуса» LearnDash убирает большую часть стандартных элементов макета WordPress, включая комментарии. Я хотел бы использовать один из хуков LearnDash, чтобы вставить ссылку на форум для конкретного урока.)

Может ли кто-то подсказать, в каком направлении искать код wp-discourse, который можно вызвать для генерации разметки «ссылка на тему»?

Спасибо!

Посмотрите заголовок «Отображение шаблона комментариев с темой Timber» по адресу WP Discourse plugin tips and tricks.

Спасибо… но, похоже, эта информация уже устарела. Указанный путь:

 WPDISCOURSE_PATH . 'templates/comments.php'

…не соответствует ни одному из путей в моей установке wp-discourse.

Мне даже не нужно загружать список комментариев Discourse; мне хватило бы ссылки на ветку Discourse. Но я не могу понять, как использовать код wp-discourse, чтобы получить эту ссылку :-/

В итоге я сделал вот что — просто обращаюсь к postmeta, не используя никакой код WP-Discourse.

Мне так и не удалось заставить что-либо работать с выводом списка комментариев… Все найденные мной функции, похоже, хотят вернуть HTML с кучей {плейсхолдеров} :confused:

    $discuss_url = get_post_meta($post_id, 'discourse_permalink', true);
    $comment_count = get_post_meta($post_id, 'discourse_comments_count', true);
    if($discuss_url) {
        ?>
            <div class="lac-lesson-discuss">
                <a href="<?php echo $discuss_url ?>" target="lac_discuss">
                    💬 Обсудить это! (<?php echo $comment_count ?> комментариев)
                </a>
            </div>
        <?php
    }

Вау, семь лет с момента вашего последнего поста. Добро пожаловать обратно, @avdi! Возможно, @simон сможет дать совет завтра.

Вы правы. Этот подход больше не работает. Я думаю, что смогу добавить вспомогательную функцию в плагин, чтобы упростить отображение комментариев вне области комментариев 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 / Отображать комментарии» (находится на вкладке «Настройки комментариев» плагина). При использовании этой функции значение данной опции игнорируется, однако все остальные настройки на этой странице учитываются.