Come verificare se una pagina esiste tramite URL?

11 set 2014, 00:02:41
Visualizzazioni: 15.9K
Voti: 9

Devo visualizzare determinati contenuti in base all'esistenza o meno di un URL di pagina. Non voglio controllare tramite titolo, perché alcune pagine potrebbero avere lo stesso titolo, ma diversi genitori.

Ad esempio una pagina potrebbe essere:

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

Ho solo bisogno di sapere se uno di questi URL esiste o meno.

1
Commenti

analisi ed esercizio sono categorie? Non sono sicuro che il tuo approccio sia il migliore e sto cercando di capire cosa desideri

Tomás Cot Tomás Cot
11 set 2014 00:48:01
Tutte le risposte alla domanda 1
1
10

Potresti creare una lista di percorsi da verificare...

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

Poi verifica se esiste un oggetto pagina per ognuno di questi percorsi.

foreach( $page_paths as $page_path ) {

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

    if( ! $page = get_page_by_path( $page_path ) ){
        echo 'Non esiste.' . PHP_EOL;
    } else{
        echo 'Esiste e risolve a: <code>' . get_permalink( $page->ID ) . '</code>' . PHP_EOL;
    }  

}

Puoi effettivamente usare get_page_by_path(); anche per Post Type diversi da page. Vedi il terzo parametro.

11 set 2014 01:19:55
Commenti

Esiste qualcosa di simile ma per multisite?

chifliiiii chifliiiii
29 ott 2020 17:39:17