Ottieni l'URL della pagina padre da mostrare quando si trova nelle pagine figlio


9

Vorrei chiederlo, come recuperare il link alla pagina principale quando mi trovo nelle pagine secondarie? Preferirei utilizzare un collegamento corretto invece del <a href="javascript:history.back()">Go Back</a>metodo.

Domanda ed esempio: come posso ottenere il link della pagina figlio di 2 ° livello quando mi trovo nella pagina figlio di 3 ° livello?

Home > Parent Page > 1st Level Child Page > 2nd Level Child Page > 3rd Level Child Page

Home > Parent Page > 1st Level Child Page(this page link show up) > Current Page

Home > Parent Page(this page link show up) > Current Page

Riga aggiornata: ho aggiunto questi tre esempi sopra per spiegare meglio ciò che sto cercando di chiedere.

Questa domanda non riguarda breadcrumbs. Vorrei solo ottenere il link della pagina principale da mostrare quando si trova nelle pagine secondarie.

E come posso ottenere il link della pagina figlio di 1 ° livello quando sono nella pagina figlio di 2 ° livello?

Il motivo per cui sto ponendo questa domanda è che voglio creare un Back To Previous Pagecollegamento per livello diverso quando mi trovo in una pagina figlio diversa. Per favore dimmi se non capisci.

Risposte:


16

Puoi usare qualcosa del genere per ottenere l'URL della pagina principale (e mostrare il titolo della sua pagina):

<?php if ( $post->post_parent ) { ?>
 <a href="<?php echo get_permalink( $post->post_parent ); ?>" >
    <?php echo get_the_title( $post->post_parent ); ?>
 </a>
<?php } ?>

Se stai eseguendo questo codice al di fuori del ciclo (grazie @BorisKuzmanov ), usa questo:

<?php global $post;
  if ( $post->post_parent ) { ?>
    <a href="<?php echo get_permalink( $post->post_parent ); ?>" >
    <?php echo get_the_title( $post->post_parent ); ?>
    </a>
<?php } ?>

1
non funziona.
Jornes,

Cosa vuoi dire, non funziona? Dove stai inserendo questo codice?
Monkey Puzzle,

Ho inserito questo codice nella pagina in cui desidero visualizzare il collegamento. Ma non mostra nulla.
Jornes,

Provalo sul tuo sidebar.php e vedi se funziona lì. Mostrerà solo qualcosa (il genitore della pagina) QUANDO la pagina in questione ha un genitore.
Monkey Puzzle,

1
Se stai eseguendo il codice all'esterno di un ciclo, prova ad aggiungerlo global $postall'inizio del codice.
Boris Kuzmanov,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.