我建立一個WordPress主題,現在和我使用的側邊欄條件語句顯示,像這樣爲每個頁面不同的信息:WordPress的子頁面標籤
if (is_page('services')) {
etc.....
} elseif (etc....
然而,一些子頁面的沒有他們自己的具體條件。我怎樣才能讓父頁面的條件適用於它的子頁面呢?
謝謝!
我建立一個WordPress主題,現在和我使用的側邊欄條件語句顯示,像這樣爲每個頁面不同的信息:WordPress的子頁面標籤
if (is_page('services')) {
etc.....
} elseif (etc....
然而,一些子頁面的沒有他們自己的具體條件。我怎樣才能讓父頁面的條件適用於它的子頁面呢?
謝謝!
你可以通過多種方式來做到這一點。有可能是一個更簡單的方法,但這是我會做什麼: 在頁面本身,檢查它是否是一個子頁:
if (is_page() && $post->post_parent)
{
// This is a subpage
return true;
}
else
{
// This is not a subpage
return false;
}
將檢查網頁是一個孩子,在這種情況下你可以按照與當前相同的方式從父項獲取條件,除了在檢查時指定父項而不是當前頁。
你也可以將這段代碼放在你的functions.php文件中,並在你的wp代碼中的任何地方使用它。
function is_subpage() {
global $post; // load details about this page
if (is_page() && $post->post_parent) { // test to see if the page has a parent
$parentID = $post->post_parent; // the ID of the parent is this
return $parentID; // return the ID
} else { // there is no parent so...
return false; // ...the answer to the question is false
};
};
這似乎有點迂迴的方式來做到這一點。 (但是,我並沒有聲稱在PHP中是任何一種專家):D)是否應該在條件本身中指定包含子頁面的方法? – codedude 2010-08-20 15:42:20
或者,也許有一個標籤看起來像這樣:if(is_page_and_subpages('services')){ – codedude 2010-08-20 15:52:24
我明白你想要做什麼,但並不那麼容易。這不是PHP的工作原理,也不是Wordpress的工作原理。你可以通過許多其他的方式來做到這一點,但這樣做比從父母到孩子傳遞變量容易。如果我直接進入你的子頁面,我從來沒有訪問過你的父頁面,所以無論如何都必須在函數或子頁面中設置變量。如果這有道理? – 2010-08-20 16:42:34