Zugriff auf $page_id in header.php bei sprechenden Links.

  • Hallo Leute,

    ich habe schon öfters eigene php-scripte in header.php eingefügt und dabei auf die
    Variable $page_id zugegriffen. Allerdings habe ich jetzt eine Wordpress-Installation
    mit sprechenden Links (wegen SEO). Bei der Startseite hat $page_id den Wert 24,
    aber ansonsten hat $page_id imme den Wert 0.

    Was kann ich bei spechenden Links anstelle von $page_id verwenden?

    Daniel

    • 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


  • Was kann ich bei spechenden Links anstelle von $page_id verwenden?
    l

    ich würde get_the_ID() verwenden.

    Der Unterschied zwischen get_the_ID() und der vorgenannten $post->ID ist, dass get_the_ID() eine Funktion ist, die die ID des aktuellen Beitrags oder der aktuellen Seite innerhalb der WordPress-Hauptschleife zurückgibt, während $post->ID eine Eigenschaft des globalen Objekts $post ist, das ein WP_Post-Objekt enthält.

    Wenn du dich innerhalb der WordPress-Hauptschleife befindest, sollten beide den gleichen Wert zurückgeben, aber wenn du dich außerhalb der Hauptschleife befindest oder eine benutzerdefinierte Abfrage verwendest, kann $post->ID unzuverlässig oder nicht verfügbar sein. Deshalb ist es sicherer, get_the_ID() zu verwenden, um die ID des aktuellen Beitrags oder der aktuellen Seite zu erhalten.

    get_the_ID() wird im WordPress Handbuch erklärt.

    Mit offenen Augen träumen

  • Hallo,

    danke, ich habe zu wenig PHP-Kenntnisse, um den Code wirklich zu verstehen. Ich habe jetzt ein Script nach dem Scheme:

    Code
    switch ($post->ID) {
             case 24:  echo " ..."; break;
            case 757:  echo " ... "; break; }

    und das scheint zu funktionieren.

    Daniel

    PS. Die Variante mit get_the_ID() funktioniert auch.

Jetzt mitmachen!

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