【问题标题】:Headless CMS: Wordpress Rest-API – Add links to existing posts/pagesHeadless CMS:Wordpress Rest-API – 添加指向现有帖子/页面的链接
【发布时间】:2025-12-08 20:40:01
【问题描述】:

我们想使用 Wordpress Rest-API 来构建一个与后端分离的页面。不过,一些事情仍然困扰着我们: 在 wordpress 后端中,可以在页面或帖子的内容编辑器中添加链接,并且通常会获得同一页面的所有现有页面和帖子的列表以链接到它们。通过解耦后端,它不知道其他页面的确切 url,我们需要提供这个。是否有可能告诉 wordpress 哪些链接可用?

提前致谢。 干杯

【问题讨论】:

    标签: wordpress hyperlink content-management-system headless wordpress-rest-api


    【解决方案1】:

    更改 site_url 对我不起作用。

    因为我也有一个带有自定义休息控制器的 wordpress 主题 如果我更改网站网址,加上 wp-json 会中断

    我的后端托管在数字海洋应用程序上 我的前端托管在 vercel

    我通过使用名为 make-paths-relative 的 wordpress 插件修复了它 但是由于我的后端不知道我的前端在哪里,我在插件中添加了一个更改:

    frontend/class-make-paths-relative.php 第 123 行

    我添加了我在 wp-config 中定义的常量 FRONTEND_URL $relative_link = FRONTEND_URL.$link;

    这会更改我的帖子、页面或 cpt 后端中的永久链接 并更改内部链接,内容编辑器中的链接

    我也向插件作者提出了请求

    【讨论】:

      【解决方案2】:

      对于那些寻找答案的人:

      “设置”>“常规”下有两个 URL 设置。

      WordPress 地址 (URL) 应该是您的 api 站点的 URL。喜欢 api.whatever.com。

      站点地址 (URL) 应该是前端的 URL。喜欢 www.whatever.com。

      这允许内部链接在编辑器中正常工作,同时将后端站点与无头前端保持在单独的 URL 上。

      【讨论】:

      • 不错。当我发布我的问题时,该功能肯定不存在。很高兴他们朝着那个方向前进。 ?
      • 我不得不让 wp-json api URL 基于 wordpress 地址 url 而不是站点地址。以下评论有帮助:github.com/WordPress/gutenberg/issues/…
      【解决方案3】:

      特别是使用 WordPress,您可以确保不会重写永久链接。这样他们仍然是 site.com/?p=post-id

      这样很容易解析获取新页面。然后用前端需要的任何内容替换 href。

      您可以使用该 ID 立即获取新帖子的 slug。

      或者您甚至可以在表示层中保留 ID 到您自己的 slug 的映射。

      【讨论】:

        【解决方案4】:

        我不确定你想问什么。 WordPress REST API 只是提供了一种从网站端(例如主题等)的其他地方访问帖子等的方法。仍然可以从管理后端 JSON/REST API 访问页面:https://developer.wordpress.org/rest-api/reference/pages/

        【讨论】:

        • 我们以某种方式解决了它。我没有直接参与,但我认为这只是一个必须更改的 Wordpress 设置。现在内部链接和«查看站点»链接可以正常工作。问题是:后端位于 api.whateverpage.com,而页面本身(前端)位于whateverotherurl.com。我的问题是如何从 api.whateverpage.com 链接到实际前端所在的页面。
        最近更新 更多