用 WP REST API 调用的结果注入 HTML 的最佳方法?
Best way to inject HTML with the results of a WP REST API call?
假设您要动态注入 10 个额外的 post 到 WordPress 网站的主页博客卷。 10 个新的 post 是在一些用户交互后添加的。因此,对于此示例,我们假设用户交互的 JSON 响应与此调用的结果相同:
GET /wp-json/wp/v2/posts?s=awesome
将结果添加到主页的理想方法是什么,但要确保新 post 使用与现有结果相同的 HTML?
在我看来,目前的选项似乎是:
1- 在Javascript 中写一个循环,并在循环内为post 写出正确的html。但这会使翻译之类的事情变得复杂,而且我已经在 PHP 中有了循环模板,所以感觉就像在复制代码。
2- 编写自定义端点。但据我所知,我需要用搜索参数编写一个新的 WP_Query() ,然后 return 所有 html 在一个变量中(所以没有 get_template_part() 并再次复制代码)。
3- 我的一个古怪想法是在页面加载时在网站某处添加 html 或 post 的隐藏空骨架。然后到时候,在Javascript运行一个循环,每次克隆骨架,从JSON注入相关的post数据。但这让我觉得很恶心。
有没有更好的方法?还是我误解了 WP REST 的基本概念 API?
您的想法 #3 听起来很像使用像 Handlebars 这样的模板语言,并不一定是那么 hacky。
您将 "hide" 您的 HTML 模板放在脚本标记中,然后使用 Javascript 使用来自您的 Ajax 调用的数据呈现它。请参阅此处的示例以获取基本概念:http://handlebarsjs.com/
假设您要动态注入 10 个额外的 post 到 WordPress 网站的主页博客卷。 10 个新的 post 是在一些用户交互后添加的。因此,对于此示例,我们假设用户交互的 JSON 响应与此调用的结果相同:
GET /wp-json/wp/v2/posts?s=awesome
将结果添加到主页的理想方法是什么,但要确保新 post 使用与现有结果相同的 HTML?
在我看来,目前的选项似乎是:
1- 在Javascript 中写一个循环,并在循环内为post 写出正确的html。但这会使翻译之类的事情变得复杂,而且我已经在 PHP 中有了循环模板,所以感觉就像在复制代码。
2- 编写自定义端点。但据我所知,我需要用搜索参数编写一个新的 WP_Query() ,然后 return 所有 html 在一个变量中(所以没有 get_template_part() 并再次复制代码)。
3- 我的一个古怪想法是在页面加载时在网站某处添加 html 或 post 的隐藏空骨架。然后到时候,在Javascript运行一个循环,每次克隆骨架,从JSON注入相关的post数据。但这让我觉得很恶心。
有没有更好的方法?还是我误解了 WP REST 的基本概念 API?
您的想法 #3 听起来很像使用像 Handlebars 这样的模板语言,并不一定是那么 hacky。
您将 "hide" 您的 HTML 模板放在脚本标记中,然后使用 Javascript 使用来自您的 Ajax 调用的数据呈现它。请参阅此处的示例以获取基本概念:http://handlebarsjs.com/