如何在默认评论位置之外的地方放置 Discourse 评论?

我正在自定义一个 WordPress 站点,并希望在 HTML 的自定义位置添加指向 Discourse 帖子链接。

(详情:我正在自定义一个 LearnDash 课程站点,而 LearnDash 的“专注模式”移除了大多数标准的 WordPress 布局元素,包括评论区。我想利用 LearnDash 的某个钩子,为特定课程插入指向论坛的链接。)

有人能指点我一下,告诉我如何调用 wp-discourse 代码来生成“链接到帖子”的标记吗?

谢谢!

请查看标题为“使用 Timber 主题显示评论模板”的部分,网址:https://meta.discourse.org/t/wp-discourse-plugin-tips-and-tricks/50757。

谢谢……但这看起来有点过时了。所引用的路径:

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
    }

哇,距离你上次发帖已经 7 年了。欢迎回来 @avdi!也许 @simon 明天可以给出建议。

你说得对。那种方法现在已经行不通了。我想我可以为插件添加一个辅助函数,以便在 WordPress 评论区域之外更轻松地显示评论。我需要在接下来的几天内对插件进行一个小更新,我会尝试在更新中添加一个 display_discourse_comments 函数。一旦可用,我会通知你。

我已在插件中添加了一个静态辅助函数,可用于在不加载 Discourse 评论模板的情况下显示评论。该函数位于:get_discourse_comments。使用时需提供要显示评论的 WordPress 文章 ID(post_id)。以下是其用法的简单示例:

<?php
use WPDiscourse\Utilities\Utilities as DiscourseUtilities;
$discourse_comments = DiscourseUtilities::get_discourse_comments( 859 );
echo $discourse_comments;

该函数以与在插件的“评论设置”选项卡中选中“启用 Discourse 评论/显示评论”选项时相同的方式显示评论。使用此函数时,该设置将被忽略,但该页面中的其他所有设置仍会生效。