各位老铁,晚上好! 今天咱们聊点硬核的,扒一扒 WordPress 的 pre_get_posts 钩子,看看它到底是个什么东西,以及怎么用它在 WP_Query 执行之前悄咪咪地修改查询参数,让 WordPress 按照咱们的意思去干活。 一、 什么是 pre_get_posts ? 它是干嘛的? 简单来说,pre_get_posts 是 WordPress 提供的一个 action 钩子。 啥是钩子? 你可以把它想象成一个预留的“小机关”, WordPress 在执行某些关键操作之前,会先触发这些“小机关”。 咱们可以在这些“小机关”上挂上咱们自己的代码(也就是一个函数),让 WordPress 在执行关键操作之前先执行咱们的代码。 pre_get_posts 这个钩子就厉害了,它会在 WP_Query 对象执行 get_posts() 方法之前被触发。 而 WP_Query 对象是 WordPress 用来查询文章、页面、自定义文章类型等等的核心类。 这意味着,我们可以通过 pre_get_posts 钩子,在 WordPress 真正开始查询数据之前,修改 WP_Query 对 …
继续阅读“探究 WordPress `pre_get_posts` 钩子源码:在 `WP_Query` 执行前如何修改查询参数。”