Obtenir l'URL de la page parent pour qu'elle s'affiche lorsqu'elle se trouve dans les pages enfants

9

Je voudrais demander, comment récupérer le lien vers la page parent lorsque je suis dans les pages enfants? Je préfère utiliser un lien approprié au lieu d'une <a href="javascript:history.back()">Go Back</a>méthode.

Question et exemple: Comment puis-je obtenir le lien de la page enfant de 2e niveau lorsque je suis sur la page enfant de 3e niveau?

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

Ligne mise à jour: j'ai ajouté ces trois exemples ci-dessus pour mieux expliquer ce que j'essaie de demander.

Cette question ne concerne pas breadcrumbs. Je voudrais juste que le lien de la page parent apparaisse quand il est dans les pages enfants.

Et comment puis-je obtenir le lien de la page enfant de 1er niveau lorsque je suis dans la page enfant de 2e niveau?

La raison pour laquelle je pose cette question est que je veux créer un Back To Previous Pagelien pour un niveau différent lorsque je suis sur une page enfant différente. Veuillez me dire si vous ne comprenez pas.

Jornes
la source

Réponses:

16

Vous pouvez utiliser quelque chose comme ceci pour obtenir l'URL de la page parent (et afficher le titre de sa page):

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

Si vous exécutez ce code en dehors de la boucle (merci @BorisKuzmanov ), alors utilisez ceci:

<?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 } ?>
Puzzle de singe
la source
1
ça ne marche pas.
Jornes
Que voulez-vous dire, cela ne fonctionne pas? Où mettez-vous ce code?
Monkey Puzzle
J'ai mis ce code à la page où je veux que le lien s'affiche. Mais cela ne montre rien.
Jornes
Essayez-le sur votre sidebar.php et voyez si cela fonctionne là-bas. Il n'affichera quelque chose (le parent de la page) QUAND la page en question A UN PARENT.
Monkey Puzzle
1
Si vous exécutez le code en dehors d'une boucle, essayez d'ajouter global $postau début de votre code.
Boris Kuzmanov