在post archives和其他列表(如搜索结果)中获取下一页的最佳方式是什么?
这个问题已经被问过很多次了,但答案对我来说还不够好。到目前为止,我找到了两种方法。
使用对标准URL的AJAX请求(如example.com/category/mycat/page/2
). 这是使用$.load
JQuery的函数,它将结果剥离,只留下具有指定id的某些块的内容。我认为这对客户端(因为加载和处理了不必要的内容)和服务器(因为这样的请求处理不需要的菜单、小部件等)都是低效的。
使用自定义ajax处理程序add_action
作用这个选项的最大问题是处理程序不是通用的!它绕过了正常的查询解析,创建了一个WP_Query
对象。显然,这不是办法。
我正在考虑以下事项:
注册一个查询变量,使模板以JSON格式显示页面,并发出如下请求:example.com/category/mycat/page/2?showjson=true
. 在主题中,检查此变量并相应地调整输出。
获取query_vars
和使用wp_localize_script
将它们传递给脚本。然后使用这些变量进行AJAX调用,并适当地处理它们。(基本上,这将是上述选项2的增强版)。
那么也许还有其他方法可以做到这一点?
添加:制作自定义处理程序可能会用来提高性能,因为并非所有Wordpress都需要加载。