it-swarm.com.de

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

Ich muss bestimmte Inhalte abhängig davon anzeigen, ob eine Seiten-URL vorhanden ist oder nicht. Ich möchte nicht nach Titel suchen, da bestimmte Seiten denselben Titel und nur verschiedene ü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 existiert oder nicht.

7
Carson

Sie können eine Liste mit Pfaden erstellen, die überprüft werden müssen ...

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

Überprüfen Sie dann, ob für jeden der Seitenpfade 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 get_page_by_path(); auch für andere Beitragstypen als page verwenden. Siehe den dritten Parameter.

7
Michael Ecklund