我正在认真研究这两个钩子的代码,它们以相同的参数一个接一个地运行,我只是看不到任何有意义的区别。
仅理论上parse_query
将运行,而不是pre_get_posts
, 如果WP_Query::parse_query()
我们将直接独立运行,但WordPress本身从来没有这样做过。也许有些插件会,但我不知道为什么会这样。就我所知,没有任何技术上的理由可以使用一个而不是另一个,但是pre_get_posts
官方和第三方提供的更新、更广泛的使用和更好的文档记录。我怀疑parse_query
有点退化。
我建议使用pre_get_posts
. 使用您看到的任何代码parse_query
应按原样使用pre_get_posts
.