WordPress: Post_parent-Titel abrufen

Lesezeit: 3 Minuten

Ryans Benutzeravatar
Ryan

Ich habe eine benutzerdefinierte Seitenleiste erstellt, die die Seiten des übergeordneten Beitrags erfasst:

query_posts("post_type=page&post_parent=6"); 

Ich möchte den Titel des post_parent (dh “Über”) greifen. the_title funktioniert nicht, weil es der Titel der untergeordneten Seiten ist.

Wie kann ich den Titel post_parent ausgeben?

echo get_the_title( $post->post_parent );

oder

echo get_the_title( X );

Wobei X eine beliebige gültige Beitrags-/Seiten-ID ist.

Es ist nicht erforderlich, ein vollständiges Postobjekt nur für eine Immobilie zu erhalten.

  • Vielen Dank! Das ist schön und sauber und genau das, was ich brauchte

    – Zade

    30. Juli 2012 um 18:30 Uhr

Benutzeravatar von Demelziraptor
Demelziraptor

Es sieht so aus, als hätten Sie bereits die ID des übergeordneten Beitrags, also können Sie einfach diese verwenden:

<?php
    $parent_post_id = 6;
    $parent_post = get_post($parent_post_id);
    $parent_post_title = $parent_post->post_title;
    echo $parent_post_title;
?>

(Fügen Sie Ihre übergeordnete Post-ID bei $parent_post_id ein)

Ref: http://codex.wordpress.org/Function_Reference/get_post

  • Tut mir leid, dass ich nicht ganz folgen kann. Nehmen wir an, meine übergeordnete Post-ID ist 6. Sollte der Code sein post_title; ?>? Wenn ja, muss es in der Schleife sein, oder funktioniert ein einfaches vorhergehendes Echo?

    – Ryan

    4. März 2011 um 20:04 Uhr


  • Entschuldigung, ließ mich den Kommentar oben nicht bearbeiten. Siehe bearbeitete Version des Codes oben. Es muss nicht in der Schleife sein, Sie können einfach Folgendes tun: <?php $parent_post_id = 6; $parent_post = get_post($parent_post_id); $parent_post_title = $parent_post->post_title; echo $parent_post_title; ?>

    – Demelziraptor

    4. März 2011 um 20:32 Uhr


  • Ich habe gerade diesen Code gefunden, für den die Seiten-ID nicht fest codiert werden muss: $parent_title = get_the_title($post->post_parent); echo $parent_title;

    – Ryan

    4. März 2011 um 21:17 Uhr


  • @Ryan Niiiiice! Das ist, wonach Leute suchen, die über die Suche auf diese Seite kommen. Kein Hardcoding, keine Zeitverschwendung, einfach c/p und funktioniert. 🙂

    –Thomas Maier

    21. Oktober 2017 um 14:22 Uhr

  • Könnten Sie diesen Code unten als Antwort posten und die Markierung von dieser Antwort in die neue ändern?

    –Thomas Maier

    21. Oktober 2017 um 14:23 Uhr

Dies ist der saubere und schöne Code, den Sie brauchen:

Es ist auch sicher zu verwenden, wenn es mehr als eine übergeordnete Hierarchieebene gibt.

<?php 

    $current = $post->ID;

    $parent = $post->post_parent;

    $grandparent_get = get_post($parent);

    $grandparent = $grandparent_get->post_parent;

    ?>

    <?php if ($root_parent = get_the_title($grandparent) !== $root_parent = get_the_title($current)) {echo get_the_title($grandparent); }else {echo get_the_title($parent); }?>

Ich weiß, es ist eine super alte Frage, aber für den Fall, dass jemand nach einem netten Einzeiler gesucht hat. Hier ist es:

echo get_the_title( wp_get_post_parent_id( get_the_ID() ) );

Wenn Sie den Titelfilter beibehalten möchten, gehen Sie mit:

echo apply_filters( 'the_title', get_the_title( wp_get_post_parent_id( get_the_ID() ) ) );

WordPress 5.7 führt eine neue Hilfsfunktion ein, um die ID des übergeordneten Beitrags einfacher abzurufen:
get_parent_post()

Dies kann auch in Verbindung mit verwendet werden has_parent_post()also könnten Sie so etwas haben wie:

<?php if ( has_parent_post() ) : ?>
    <a href="<?php the_permalink( get_parent_post() ); ?>">
        <?php the_title( get_parent_post() ); ?>
    </a>
<?php endif; ?>

Beachten Sie, dass diese Funktionen eine “Kind-Beitrags-ID” als Parameter akzeptieren, die standardmäßig auf den aktuellen Beitrag eingestellt ist.

https://make.wordpress.org/core/2021/02/10/introducing-new-post-parent-related-functions-in-wordpress-5-7/

Benutzeravatar von MerchantProtocol.com
MerchantProtocol.com

Ich habe das geschrieben, es wird den übergeordneten Beitrag greifen und dann den Titel der Eltern und so weitergeben. Schau es dir an und lass mich wissen, ob es bei dir funktioniert.

https://gist.github.com/1140481

Dies sollte sogar außerhalb der WordPress-Schleife funktionieren.

1401700cookie-checkWordPress: Post_parent-Titel abrufen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy