有没有一种方法可以让我使用主题页。php(或single.php)模板,拦截查询以将其替换为wp\\u user\\u查询,或者这必须是自定义模板作业吗?
No, WP页面是基于WP_Query
. 您可以基于带参数的重写规则创建虚拟页面并加载模板,但模板负责加载内容,或者使用重写规则中的自定义参数执行常规WP\\U查询。
但是,您不能将post查询替换为术语查询或用户查询等,它们不可互换,也没有共同的基础。即使模板本身很好,您也会遇到任何试图键入提示的插件的问题,并且需要修改WordPress插件和主题的重要部分。至少你周围需要包装纸WP_User_Query
和WP_User
模拟WP_Query
和WP_Post
, 任何试图使用post ID的代码都会以奇怪而奇妙的方式被彻底破坏。
创建自定义模板并使用WP_User_Query
直接地如果您正在寻找跨主题可移植的通用解决方案,则不存在任何解决方案。最接近的方法是在插件中包含自己的模板,然后尝试加载header.php
和footer.php
希望这就是该主题所需的全部内容(忽略块主题和网站模板)。
甚至通过我的template\\u include函数($wp\\u query->;post\\u type=\'blah\')推送查询变量,但都没有用,因为查询最终总是返回到默认的十篇文章。
到…的时候template_include
太晚了,主查询已经被处理、决定,数据库已经被查询。模板加载是最后一步,在检索帖子之后进行。