Wie überprüfe ich, ob eine Seite nach URL existiert?

8

Ich muss bestimmte Inhalte anzeigen, je nachdem, ob eine Seiten-URL vorhanden ist oder nicht. Ich möchte nicht nach Titel suchen, da bestimmte Seiten denselben Titel und nur unterschiedliche übergeordnete Seiten haben.

Zum Beispiel kann eine Seite sein:

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

Ich muss nur wissen, ob eine dieser URLs vorhanden ist oder nicht.

Carson
quelle
1
Analyse und Übung sind Kategorien? Ich bin nicht sicher, ob Ihr Ansatz der beste ist und ich versuche zu verstehen, was Sie wollen
Tomás Cot

Antworten:

9

Sie können eine Liste der zu überprüfenden Pfade erstellen ...

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

Überprüfen Sie dann, ob für jeden Seitenpfad ein Seitenobjekt vorhanden ist.

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

}

Sie können tatsächlich get_page_by_path();für andere Beitragstypen als verwenden page. Siehe den dritten Parameter.

Michael Ecklund
quelle