【问题标题】:Best way to inject HTML with the results of a WP REST API call?使用 WP REST API 调用的结果注入 HTML 的最佳方法?
【发布时间】:2016-11-24 16:19:24
【问题描述】:

假设您想动态地向 WordPress 网站的主页博客卷添加 10 个额外的帖子。这 10 个新帖子是在一些用户交互后添加的。所以对于这个例子,让我们假设用户交互的 JSON 响应与这个调用的结果相同:

GET /wp-json/wp/v2/posts?s=awesome

将结果添加到主页的理想方式是什么,但要确保新帖子使用与现有帖子相同的 HTML?

在我看来,目前的选项似乎是:

1- 用 Ja​​vascript 编写一个循环,并为循环内的帖子编写正确的 html。但这会使翻译之类的事情变得复杂,而且我已经在 PHP 中有循环模板,所以感觉就像在复制代码。

2- 编写自定义端点。但据我了解,我需要使用搜索参数编写一个新的 WP_Query(),然后在一个变量中返回所有 html(所以没有 get_template_part() 并再次重复代码)。

3- 我有一个 hacky 想法是在页面加载时在网站某处添加一个隐藏的空的 html 框架。然后,当时机成熟时,在 Javascript 中运行一个循环并每次克隆骨架以从 JSON 中注入相关的帖子数据。但这让我觉得很恶心。

有没有更好的方法?还是我误解了 WP REST API 的基本概念?

【问题讨论】:

  • 您可以在设置中使用新的javascript es6 功能吗?
  • 恐怕不是,这是一个标准的 WordPress 主题,只有一个标准的 .js 文件。

标签: javascript wordpress wordpress-rest-api


【解决方案1】:

您的想法 #3 听起来很像使用像 Handlebars 这样的模板语言,而且不一定那么老套。

您将在脚本标记中“隐藏”您的 HTML 模板,然后使用 Javascript 使用来自您的 Ajax 调用的数据来呈现它。请参阅此处的示例以了解基本思想:http://handlebarsjs.com/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-11
    • 2013-09-14
    • 1970-01-01
    • 2019-12-18
    • 2017-10-10
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    相关资源
    最近更新 更多