问题描述

我需要根据页面 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。