【问题标题】:Custom Page vs Plugin Slug自定义页面与插件蛞蝓
【发布时间】:2012-05-17 18:32:20
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    这周我在为我正在开发的 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) 以朝着正确的方向开始(看起来很合法,但我之前没有使用过自定义重写规则和插件)。

    【讨论】:

    • 感谢您的回答,我会接受它,因为它似乎是实现它的最佳方式。然而,我设法让我的头脑进入未记录的过滤器/操作,并且我设法创建了一个经过大量修改的 CPT 版本(纯粹是因为到一天结束时,我希望能够轻松地使用自动管理面板来获取额外的内容,因为我做不到'不必费心研究其他任何东西)。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2018-03-03
    • 2016-07-27
    • 2013-03-24
    • 1970-01-01
    • 2022-11-09
    • 2015-01-07
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多