如何手动定义主循环

时间:2017-07-25 作者:somebodysomewhere

我正在从事一个使用WordPress作为后端和Vue的项目。前端为js。

基本上,WordPress安装的任何有效URL都将加载索引。php并生成一个基本的Vue。js设置,从该点开始Vue。js通过ajax处理匹配路由和加载正确的标记。任何后续页面加载都由Vue处理。js。

My question is: 自Vue以来。js使用ajax做所有事情,WP从不设置主循环。这对于像Woocommerce这样的公司来说是个大问题。那么,在我的ajax开始时,是否可以手动定义主循环应该是什么?让WP知道get_queried_object_id() 应返回31 例如马上get_the_ID() 所有其他上下文功能都不起作用。

1 个回复
SO网友:Mark Kaplun

WordPress并不是解决世界饥饿、全球变暖的解决方案,甚至不是创建一页应用程序的好工具。如果这就是您所需要的,那么可能有更好的工具可以为您提供更好的ROI。

理论上,你可以使用wordpress作为API,创建一个“无标题”网站,但使用wordpress 95%的优势在于主题和插件,而且它们都不支持这样的配置。因此,如果你想使用像woocommerce这样的插件,那么你就只能在黑暗和雨中摸索如何使用他们的API与你的JS集成,在这里你很幸运,因为对于大多数其他插件来说,你必须自己编写API。

除此之外,wordpress在ajax方面真的很差劲。加载ajax的开销使得处理ajax请求的性能与仅获取整个页面相当,尤其是如果使用对象缓存(显然是这样的,对吧?2017年没有人在没有对象缓存的情况下设置wordpress)。

专门针对您的问题。您始终可以使用pre_get_posts 过滤器设置模拟主回路所需的任何内容。尽管如此,这只是你在充满痛苦和泪水的道路上迈出的第一步(你需要为一家店铺进行seo吗?可能不需要,在谷歌的排名被高估了)

结束