在WordPress主题开发的过程中,有时候我们需要获取当前页面的 ID 或其他属性,WordPress 内置了这个功能,大大的方便了Theme Development。这个函数的名字就叫 get queried object(获取查询对象),不得不赞一下 WordPress 的函数命名,非常语义化,一看函数名字基本上就知道这个函数的作用了。
使用的时候,直接调用这个函数就可以了,函数的返回值是根据函数所引用的页面而定的。
- 如果函数在文章页面引用,返回值为文章对象,等效于 get _post();
- 如果在分类存档页面引用,返回值为分类对象,等效于 get_category( get_query_var( ‘cat’ ), false );
其实这个函数就是 $wp_query->get_queried_object() 的包装,作用和 $wp_query->get_queried_object() 一样,只不过引用起来更方便了。整个函数的代码如下:
function get_queried_object() {
global $wp_query;
return $wp_query->get_queried_object();
}
类似的还有一个函数:get_queried_object_id,直接获取了当前查询对象的 ID
function get_queried_object_id() {
global $wp_query;
return $wp_query->get_queried_object_id();
}
从上面的两个例子可以看出,WordPress 其实是一个高度面向对象的 php 工程,但是内置了很多函数把对象的一些方法简单化了,这样做不可避免的增加了WordPress 的体积,但是对于 WordPress开发者来说,使用起来相当方面,这可能也是 WordPress 如此流行的原因之一吧。