在WordPress主題開(kāi)發(fā)的過(guò)程中,有時(shí)候我們需要獲取當(dāng)前頁(yè)面的 ID 或其他屬性,WordPress 內(nèi)置了這個(gè)功能,大大的方便了主題開(kāi)發(fā)。這個(gè)函數(shù)的名字就叫 get queried object(獲取查詢對(duì)象),不得不贊一下 WordPress 的函數(shù)命名,非常語(yǔ)義化,一看函數(shù)名字基本上就知道這個(gè)函數(shù)的作用了。
使用的時(shí)候,直接調(diào)用這個(gè)函數(shù)就可以了,函數(shù)的返回值是根據(jù)函數(shù)所引用的頁(yè)面而定的。
- 如果函數(shù)在文章頁(yè)面引用,返回值為文章對(duì)象,等效于 get _post();
- 如果在分類存檔頁(yè)面引用,返回值為分類對(duì)象,等效于 get_category( get_query_var( ‘cat’ ), false );
其實(shí)這個(gè)函數(shù)就是 $wp_query->get_queried_object() 的包裝,作用和 $wp_query->get_queried_object() 一樣,只不過(guò)引用起來(lái)更方便了。整個(gè)函數(shù)的代碼如下:
function get_queried_object() {
global $wp_query;
return $wp_query->get_queried_object();
}
類似的還有一個(gè)函數(shù):get_queried_object_id,直接獲取了當(dāng)前查詢對(duì)象的 ID
function get_queried_object_id() {
global $wp_query;
return $wp_query->get_queried_object_id();
}
從上面的兩個(gè)例子可以看出,WordPress 其實(shí)是一個(gè)高度面向?qū)ο蟮?php 工程,但是內(nèi)置了很多函數(shù)把對(duì)象的一些方法簡(jiǎn)單化了,這樣做不可避免的增加了WordPress 的體積,但是對(duì)于 WordPress開(kāi)發(fā)者來(lái)說(shuō),使用起來(lái)相當(dāng)方面,這可能也是 WordPress 如此流行的原因之一吧。


