# 在 Wordpress 和 Discourse 中同步主题内容（功能请求）

**URL:** https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845
**Category:** Feature
**Tags:** wordpress
**Created:** [2023年十二月7日 11:16 UTC](https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845 "2023-12-07T11:16:57Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![volanar](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/volanar/32/318163_2.png) [@volanar](https://meta.discourse.org/u/volanar)
#### Post date: [2023年十二月7日 11:16 UTC](https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845/1 "2023-12-07T11:16:57Z")

</div>

目前，discourse 和 wordpress 的评论已同步。如果能实现主内容之间的双向同步，让 discourse 社区能够从 discourse 实例编辑（修改和极大丰富）内容，那就太好了。这样，社区就可以参与到 WP 站点的改进中（这正是社区设计的目的——参与内容的创建和改进），而不仅仅是全职编辑。文章质量会更高，信息也会更准确、更及时，而且不需要增加额外人手。为此，需要增加第三个设置：实例间同步主题。

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [2023年十二月7日 12:14 UTC](https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845/2 "2023-12-07T12:14:19Z")

</div>

嘿 Volanar，

如果你的 Discourse 站点要镜像你的 Wordpress 站点，你是否一定需要两者都保留？

---

<div class="post-metadata">

### Author: ![Firepup650](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/firepup650/32/465200_2.png) [@Firepup650](https://meta.discourse.org/u/Firepup650)
#### Post date: [2023年十二月7日 12:48 UTC](https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845/3 "2023-12-07T12:48:44Z")

</div>

根据他们请求的措辞，这是我看到的流程：

```mermaid
    flowchart
         WP <--> Post
         Discourse <--> Post
         Community --> Discourse
         Editors --> WP

```

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [2023年十二月7日 13:25 UTC](https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845/4 "2023-12-07T13:25:09Z")

</div>

但是，拥有两个相同的编辑界面有什么好处呢？

虽然 WordPress 可以处理 Markdown，而且确实也处理，但它不是大多数网站的默认设置，除非行为已更改，否则在保存帖子时 Markdown 会被转换为 HTML。任何特定的 CSS 样式也会丢失。结果是，在 Discourse 网站上查看时，外观漂亮的 WordPress 帖子会失去一些视觉保真度。

允许 Discourse 覆盖 WordPress 帖子的内容将限制 WordPress 的许多演示功能。还有版本控制和同时更改的问题——大概是最后写入者获胜？

如果你希望编辑者和社区成员为同一内容贡献高质量的内容，为什么不在同一个地方编辑它们呢？

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [2023年十二月7日 14:02 UTC](https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845/5 "2023-12-07T14:02:13Z")

</div>

> [@Stephen](#):
>
> 如果你希望编辑者和社区成员能够为同一内容贡献相同的质量，为什么不在同一个地方编辑它们呢？

因为在 Discourse 上可以更好地控制谁可以看到什么以及不能做什么，而在 WordPress 端也可以有其他出版物。

这可能是一个原因。我不会对此是好是坏或中立的情况持任何立场。

---

<div class="post-metadata">

### Author: ![Firepup650](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/firepup650/32/465200_2.png) [@Firepup650](https://meta.discourse.org/u/Firepup650)
#### Post date: [2023年十二月7日 14:02 UTC](https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845/6 "2023-12-07T14:02:28Z")

</div>

（至少对我来说）听起来他们不想将社区中的所有人添加到 WP 实例中：

> [@volanar](#):
>
> 这样，社区就可以参与 WP 站点的改进（这正是社区的宗旨——参与内容的创建和改进）

> [@volanar](#):
>
> 文章会更好，信息也更准确和最新，而无需增加额外的人员

不过你说的有道理，在一边编辑比两边都编辑要好。

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [2023年十二月7日 15:22 UTC](https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845/7 "2023-12-07T15:22:10Z")

</div>

嘿 @volanar，我明白你想实现什么。

> [@volanar](#):
>
> 希望能在主内容之间实现双向同步，以便 Discourse 社区可以从 Discourse 实例编辑（修改和显著丰富）内容

在可预见的未来，这不会成为 [WP Discourse](https://github.com/discourse/wp-discourse) 插件的一部分，部分原因是该插件专注于同步 Wordpress 评论而不是内容 Wordpress 文章，部分原因是使 [WP Discourse](https://github.com/discourse/wp-discourse) 插件双向化会带来一些挑战，这些挑战在该插件的框架及其与 Discourse 的工作方式内难以解决。@Stephen 提到了其中一些挑战。还有其他的。

话虽如此，你或许可以通过使用 [Wordpress ActivityPub 插件](https://wordpress.org/plugins/activitypub/) 和 [Discourse ActivityPub 插件](https://meta.discourse.org/t/activitypub-plugin/266794) 来实现你的目标，这两者结合起来，理论上可以实现你想要的功能，即内容的双向同步（Wordpress 文章和 Discourse 文章）。

这里有两个很大的注意事项。Discourse ActivityPub 插件的双向功能尚未合并到插件的主分支中（[PR 目前正在审核中](https://github.com/discourse/discourse-activity-pub/pull/43)），而且我从未将该插件与 Wordpress ActivityPub 插件进行过测试。但通过结合这两者，你所描述的情况有可能实现。

事实上，你所描述的场景正是 [ActivityPub 协议](https://www.w3.org/TR/activitypub/) 的开发目的。为什么在 ActivityPub 的背景下比在 [WP Discourse](https://github.com/discourse/wp-discourse) 的背景下更容易实现？原因有很多，我在这里就不一一赘述了，但 suffice to say，如果这是你的目标，那么你应该考虑这条途径。

---

<div class="post-metadata">

### Author: ![volanar](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/volanar/32/318163_2.png) [@volanar](https://meta.discourse.org/u/volanar)
#### Post date: [2023年十二月7日 15:30 UTC](https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845/8 "2023-12-07T15:30:18Z")

</div>

> [@Stephen](#):
>
> 如果您希望编辑者和社区成员为相同的内容做出贡献，为什么不在同一个地方编辑它们？

因为WordPress支持WPML，并且内容被翻译成多种语言。WPML有助于跟踪已更改的内容。接下来，WP会将内容发布到[博客](https://themeforest.net/item/ncmaz-nextjs-headless-wordpress-blog-magazine/47815656)和[移动应用程序](https://codecanyon.net/item/fluxnews-fluxnews-flutter-mobile-app-for-wordpress/24569377)。也就是说，WP可以用作headless CMS。  
主主题将在WP中创建，但社区可以对内容进行更正和添加。这是技术信息，内容的优美性并不重要，因此您可以默认在WP中安装markdown插件以获得单一的内容格式。理想情况下，最好使用Ghost、Strapi、Squidex或其他平台，但这会产生费用，并且不适合所有人。解决方案应该是普遍适用的。

---

<div class="post-metadata">

### Author: ![volanar](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/volanar/32/318163_2.png) [@volanar](https://meta.discourse.org/u/volanar)
#### Post date: [2023年十二月7日 20:32 UTC](https://meta.discourse.org/t/sync-topic-content-in-wordpress-and-discourse-feature-request/287845/9 "2023-12-07T20:32:37Z")

</div>

我提出了一个好主意。在主题的末尾，指定一个在WP前端进行编辑的链接。这样，用户就可以自己编辑内容，管理员也可以接受或拒绝更改。
