更新后这里有些问题。
在 WordPress 中,我使用的是“经典编辑器”(TinyMCE)。
我有一些旧文章,其中的视频 URL 使用了 [video] 短代码;而最近的文章(不到 3 年)则使用了 ARVE 视频嵌入插件,它将视频 URL 放在 [arve] 短代码中。
因此,我通过以下方式将 WordPress 的文章过滤到 Discourse:
$excerpt = preg_replace('/\[arve .*url="(.*?)" .*\/\]/is',"\n$1\n", $excerpt);
$excerpt = preg_replace('/\[video .*mp4="(.*)"\]\[\/video\]/is',"\n$1\n", $excerpt);
之前一切正常,只有视频 URL 被传递到 Discourse,因此它们在 Discourse 上正确显示为嵌入视频。
但自从 WP-Discourse 更新后,视频无法在 Discourse 上显示了。
我还尝试直接在 TinyMCE 中粘贴 YouTube URL,不使用短代码(我了解到 WordPress 似乎不需要短代码就能嵌入 YouTube 视频……或者这可能是因为我的其他插件或主题?
但我想这并不重要),并移除了我的 preg_replace 函数,但视频仍然无法在 Discourse 上显示。
以下是我在 WordPress 上的文本(纯文本模式,非可视化编辑标签):
https://www.youtube.com/watch?v=e6MCkspqtxo
[arve url="https://www.youtube.com/watch?v=e6MCkspqtxo" /]
在 WordPress 上的显示效果:
Discourse 上的帖子:
Discourse 帖子的 HTML 代码:
<p>Test vidéooo:</p>
<div data-mode="normal" data-provider="youtube">
<div></div>
</div>
<div data-mode="normal" data-provider="youtube">
<div></div>
</div>
编辑:另外,我注意到当文章在 WordPress 上设为私密时,编辑文章后不会同步到 Discourse。这在进行私密测试时有点烦人。

