自定义页面与插件Slug

时间:2012-05-09 08:52:52

标签: wordpress-plugin wordpress

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

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

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

  1. 能够处理URL以检索记录的ID display(必须支持标准URL param和自定义slu)。
  2. 拥有自定义模板(能够调用 get_sidebar()函数作为widgetised)
  3. 在某些时候,我将添加一个管理面板,为每个记录详细信息显示添加其他内容,例如外部CMS不支持的相关图像。
  4. 任何建议或最佳方向的观点都将不胜感激,谢谢

1 个答案:

答案 0 :(得分:2)

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

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

出于我的目的,这已经足够了,特别是因为我们重定向了不相关的流量。这允许URL中的其他查询参数,但不会与slug友好。因为它仍然会被称为典型的页面方法,如get_sidebar()仍然有效。

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