3

我目前正在将来自第三方 API 的信息集成到 wordpress 站点中。我需要做的是创建一个“动态页面”,其中显示来自 API 的特定记录的详细信息。由于有 1000 条记录,我不想在 wordpress 中为每个记录详细信息视图创建一个单独的页面。

我一直在环顾四周,似乎有两个主要的解决方案(我已经放弃了自定义帖子类型选项,因为我认为它不符合我的需求,但我愿意重新评估)。首先是在 wordpress pages admin 中创建一个页面,然后为该页面设置一个调用 API 方法的自定义模板,然后构建模板。第二个是以某种方式使用我创建的插件,为我使用的 URL 注册一个钩子,然后让插件处理显示(不知道我是怎么做的)。

我想知道这里的人认为什么是最好的方法。先决条件是:

  1. 为了能够处理 URL 以检索要显示的记录的 ID(必须支持标准 URL 参数以及自定义 slug)。
  2. 拥有一个自定义模板(能够调用 get_sidebar() 函数作为它的小部件)
  3. 在某些时候,我将添加一个管理面板,以向每个记录详细信息显示添加其他内容,例如相关图像,外部 CMS 不支持这些内容。

任何建议或最佳方向的观点将不胜感激,谢谢

4

1 回答 1

2

这周我在为我正在开发的 WordPress 网站编写自定义 API(REST + JSON)时遇到了这个问题。我的解决方案是使用页面模板并将其用作 API 的入口点。那是我遇到https://stackoverflow.com/a/4975004/1386140的时候。但是,一个问题是它需要用户(网站管理员)为页面命名以匹配插件检查的参数

$wp->query_vars["pagename"] == 'YOUR_PAGE_NAME'

就我的目的而言,这已经绰绰有余了,特别是因为我们重定向了不相关的流量。这允许在 URL 中添加额外的查询参数,但对 slug 不友好。因为它仍然会被称为典型的页面方法,比如 get_sidebar() 仍然可以工作。

为了让它与蛞蝓一起工作,我会看这篇文章(https://stackoverflow.com/a/2487407/1386140)以朝着正确的方向开始(看起来合法,但我没有使用自定义重写规则和之前的插件)。

于 2012-05-10T08:14:08.600 回答