問題描述

我需要根據頁面 URL 是否存在來顯示某些內容。我不想透過標題檢查,因為某些頁面將具有相同的標題,只有不同的父頁面。

例如一頁可能是

http://example.com/analysis/firstNamelastName
http://example.com/exercise/firstNamelastName 

我只需要知道這些 URL 中有一個是否存在。

最佳解決方案

你可以列出一些路徑來檢查…

$page_paths = array(
    'analysis/firstNamelastName',
    'exercise/firstNamelastName'
);

然後檢查每個頁面路徑是否有頁面物件。

foreach( $page_paths as $page_path ) {

    echo '<code>' . $page_path . '</code> ' . PHP_EOL;

    if( ! $page = get_page_by_path( $page_path ) ){
        echo 'Does not exist.' . PHP_EOL;
    } else{
        echo 'Exists and resolves to: <code>' . get_permalink( $page->ID ) . '</code>' . PHP_EOL;
    }  

}

實際上可以使用 get_page_by_path(); 作為 page 以外的後期型別。參見第三個引數。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。