Kann die ID einer Page nicht ermitteln?

  • Hallo zusammen,

    obwohl es in zahlreichen Guides beschrieben ist, gelingt es mir irgendwie nicht die ID der aktuellen Seite (außerhalb der Loop) zu ermitteln. Stattdessen kriege ich auf allen Seiten den gleichen Wert (in meinem Fall "63").

    Gibt es durch 2.5 irgendwelche Änderungen in diesem Bereich?

    Würde mich über eine kleine Hilfestellung freuen.

    Besten Dank im Voraus für die Antworten!

    Viele Grüße
    Whooper

    • 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

  • Vielen Dank für den Link, darüber war ich auch schon gestolpert.

    Meine Frage zielt allerdings nicht auf den Adminbereich, sondern auf das Frontend ab. Dort schaffe ich es außerhalb der Loop nicht die ID der aktuellen Seite zu ermitteln.

    Gruß
    Whooper

  • Derzeit versuche ich mittels $post->ID darauf zuzugreifen, habe aber auch schon andere Vorschläge ausprobiert, leider ohne Erfolg!

    Auch sowas wie im folgenden Beispiel funktioniert bei mir nicht wirklich, obwohl es in Unterseiten aufgerufen wird.

    PHP
    global $wp_query;
    
    
    if( empty($wp_query->post->post_parent) ) {
       $parent = $wp_query->post->ID;
    } else {
       $parent = $wp_query->post->post_parent;
    }
  • Habe jetzt noch mal diverse Sachen probiert und trotzdem wird mir bei der Frontend-Ausgabe der $post->ID immer der Wert 63 angezeigt, ganz egal auf welcher Seite ist gerade bin. Es ist wie verhext...

    Hat niemand eine Idee, woran das liegen könnte?

  • Wenn ich

    PHP
    <?php echo $post->ID; ?>


    in die single.php meines Themes einbaue, wrd die ID korrekt ausgegeben. Getestet in WP2.5.

    Versuch mal, das Post-Objekt vorher zu globalisieren:

    PHP
    <?php global $post; echo $post->ID; ?>

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Hmm, egal wo ich das mache (page.php oder single.php), es wird immer die korrekte ID ausgegeben.

    Was befindet sich denn auf der Seite mit ID 63? Hast du mal alle Plugins deaktiviert?

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Ja, hatte zwischenzeitlich mal alle Plugins deaktiviert, auch ohne Erfolg. Unter der ID 63 ist ein Post zu erreichen, der aber mit den angezeigten Seiten nichts zu tun hat.

    Kann das eventuell auch ein Problem der Servereinstellung sein?

  • Höchstens vielleicht im Zusammenhang mit register_globals=Off. Ich habe es auf On. Schau mal, ob du es vlllt auf Off hast. Dann frage ich mich aber trotzdem, woher er sich gerade die 63 nimmt..?

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Da es sich nicht um die klassische $_POST Variable handelt, hat dies leider auch keine Änderung gebracht. Ist schon eine sehr verzwickte Angelegenheit. :cry:

    Habe mittlerweile sogar festgestellt, dass es bei mir lokal funktioniert, aber halt nicht im Netz. Kann dann ja eigentlich nur eine Servereinstellung sein, oder?

Jetzt mitmachen!

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