Page ID auf Artikelseite

  • Hallo erstmal!

    Ich habe folgendes Problem (schon paar Haare weniger auf dem Kopf deswegen :roll:):
    Ich habe ein Submenu gebaut welches ich mittels

    PHP
    wp_list_pages(array('child_of' => $post->ID, 'title_li' => ''));

    generiere.
    Funktioniert alles nur auf der Artikelseite, wird meine angelegte Subpage "Mitgliederinformationen" nicht angezeigt... Habe mir auch mal die $post->ID ausgeben lassen:
    Diese ist gefüllt mit den Parametern des letzten geposteten Artikels und nicht wie auf ALLEN anderen Seiten der Website mit Informationen über die Page (z.B. der page-id die ich für das Menü brauche). Macht nix dachte ich, es ist ja sicherlich nicht der einzige Weg um die Page-ID herauszubekommen... Tja weit gefehlt! Mittels Template-Tag "the_ID()" bekomme ich auch nur die ID des letzten Post angezeigt, ich will aber die der aktuellen Seite!! Natürlich weiß ich das WP alles als "Post" sieht, zumindest wird einfach mal bunt alles in eine Datenbanktabelle "wp-post" geschrieben... Na ja.

    Entweder bin ich völlig blind oder Wordpress ist in diesem Fall einfach sehr, sehr, sehr ungeschickt konzipiert...

    Vielen Dank für eure Hilfe.
    Gruß mfuesslin

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Danke für deine Antwort.
    Ja, diese Funktion nutze ich ja auch zum Anzeigen des Submenu.

    Ich versuche es nochmal zu beschreiben:
    Ich hab zwei Menüs. Das Hauptmenü zeigt mir alle Haupt-Seiten an, also alle Seiten, die keine übergeordnete Seite besitzen.
    Diese Seiten können Unterseiten besitzen, die ich logischerweise in meinem zweiten Menü, dem Submenu anzeigen will.

    Das Hauptmenü bereitet mir keine Probleme.

    Problem Submenu:
    Um im Submenu nun alle Unterseiten einer Hauptseite anzeigen zu lassen, muss ich ja angeben, dass es alle Seiten nutzen soll, die Unterseiten der aktuell ausgewählten Seite sind.

    Beispiel:
    Hauptseite: News ID: 1
    besitzt Unterseite: Mitgliederinformation ID: 2

    Wenn man nun auf News klickt wird die Seite mit den News geladen und der Nutzer soll im Submenu die Unterseite Mitgliederinformation sehen.

    Dazu muss ich ja um an die Unterseiten zu kommen folgendes PHP verwenden:
    wp_list_pages(array('child_of' => $post->ID, 'title_li' => ''));

    child_of: Ist dafür zuständig, dass nur die Unterseiten der aktuell aufgerufenen Seite angezeigt werden sollen. Die aktuelle Seite ist ja in $post->ID gespeichert.

    Das heißt das wp_list_pages(array('child_of' => 1, 'title_li' => '')); die Unterseite Mitgliederinformationen liefern müsste.

    Ich hoff bis hier ist klar was ich beschrieben habe.

    Problem ist jetzt: Die Variable $post->ID ist nicht immer die ID der aktuell aufgerufenen Seite, sondern im Spezialfall, wenn die aktuelle Seite die Artikelseite ist (also die Seite auf der die im Backend unter Menüpunkt "Artikel" verfassten Artikel angezeigt werden), die ID des letzten geposteten Artikels.

    Das führt dazu, dass das Submenu nicht mehr gerendert wird weil der gepostete Artikel logischerweise keine Unterseiten besitzt (er ist ja ein Artikel und keine Page!!).

    Wie kann ich also die ID einer Seite abfragen wenn ich deren Namen nicht weiß und die einzige Information die ich habe diese ist, dass sie die aktuell angezeigte Seite ist.

    So ich hoffe ich konnte es verständlich ausdrücken.
    Danke fürs lesen

    Gruß mfuesslin

  • Wahrscheinlich verstehe ich das Problem nicht, ich versuche trotzdem zu helfen, soweit ich richtig verstanden hab'. :)

    Also, es ist Sche** egal ob Post, Page, SubPage, Childpage usw. - alles habe im WP ein ID, auch Child-Page. Um ein ID herauszufinden reicht die einfache Installation vom Reveal ID Plug-in. Soweit ich mich erinnern kann, ist es sogar ein deutscher Autor.

    Dann im Backend auf Seiten klicken und siehe da, in Pages-Liste steht neben jedem Page (oder auch Child-Page) ein ID. Fertig.
    Mehr nicht :)
    Gruß
    RG

    Das ist eine Signatur. Die darf keine Werbung enthalten. Also packt man hierhin ein Zi

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!