web-dev-qa-db-ja.com

ページがURLで存在するかどうかを確認する方法

ページのURLが存在するかどうかに応じて特定のコンテンツを表示する必要があります。特定のページは同じタイトルを持ち、親ページが異なるだけなので、タイトルで確認したくありません。

例えば、1ページは次のようになります。

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

これらのURLの1つが存在するかどうかだけを知る必要があります。

7
Carson

あなたがチェックするパスのリストを作ることができます...

$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;
    }  

}

page以外の投稿タイプには、実際に get_page_by_path(); を使用できます。 3番目のパラメータを参照してください。

7
Michael Ecklund