web-dev-qa-db-fra.com

Obtenez le Permalink pour le parent de premier niveau des pages enfants

J'ai cette structure de pages:

  • TOP PAGE

    • SOUS PAGE 1
      • SOUS SOUS-PAGE 1
    • SOUS PAGE 2

    [etc]

Est-il possible d'afficher sur chaque sous-page un lien pour revenir à la page de niveau supérieur? Et comment?

3
Pepozzo

Voici un moyen d'obtenir l'URL de la première page:

$top_page_url = get_permalink( array_slice( get_ancestors( get_the_ID(), 'page' ) , -1 ) );

get_ancestors() renvoie un tableau contenant tous les parents (ID) de la page donnée. Vous pouvez en savoir plus à ce sujet dans le Codex ici .

Ici sont différentes façons d’obtenir le dernier élément du tableau, mais notez que end() ne s'attend pas à une fonction en tant qu’entrée - plus à ce sujet dans PHP docs here .

5
birgire

Vous pouvez obtenir l'ID de publication de la page parent avec $post->post_parent; à ce stade, il suffit d'utiliser cet identifiant pour obtenir le lien permanent.

Cet extrait des forums wp.org fera ce dont vous avez besoin:

<?php if($post->post_parent) {
    $parent_link = get_permalink($post->post_parent); ?>
    <a href="<?php echo $parent_link; ?>">Link to parent page</a>
<?php } ?>

Extrait de code trouvé ici .

0
sabreuse