Abfrage nach $page_id

  • Ich zeige in Abhängigkeit der aufgerufenen Seite eine Bildleiste zwischen Header und Content mit dieser Abfrage:


    Wenn ich Permalinks auf /%postname%/ einschalte, dann wechseln die Bilder nicht. Also wird die $page_id nicht mehr erkannt. M.W. war das in der Vergangenheit kein Problem. Wonach kann ich jetzt abfragen?

    • 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

  • Füge einfach direkt nach dem einleitenden <?php folgendes, und du bist auf der sicheren Seite:

    PHP
    <?php
    [COLOR=DarkGreen]$page_id = the_ID();[/COLOR]

    Dat geht in die Hose, denn es macht einen echo implizit und page_id ist immer 0. Wenn du das als Rückgabewert haben willst (ohne echo) dann so:

    PHP
    $page_id = get_the_ID();
  • Weder the_ID() noch get_the_ID übergibt mir eine Nummer :cry:

  • Also den Seitentitel bekomme ich ausgelesen

    Code
    $seite = get_the_title();
    echo 'Seitentitel: '.$seite;

    Wenn ich die ID nicht bekomme, dann werde ich halt den Titel nehmen.

    Dann ist der code auch besser lesbar

    Einmal editiert, zuletzt von bgeissler (17. September 2008 um 16:31)

  • Okay, ist zwar etwas umfangreicher, aber sollte zu 100% funktionieren. Ersetze einfach alle Vorkommen von

    PHP
    $page_id=='xx'

    mit

    PHP
    is_page('xx')

    ...

    Also z.B.:

    PHP
    if (is_page('4') or is_page('13'))


    Das ist am Saubersten.

    Vorausgesetzt natürlich, du fragst eine statische Seite ab.

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Ne, lass mal es funzt nicht. Aber trotzdem danke für die Mühe. Vielleicht hilft's auch anderen.

    Ich habe mal in einem anderen, später entwickelten meiner themes nachgesehen. Da habe ich das auch mit

    Code
    $seite = get_the_title();

    gelöst. Warum auch immer, bin ich wohl schonmal drüber gestolpert.

  • get_the_ID geht normalerweise nur im Loop, da dort mit the_post() die Post-Variable initialisiert wurde. Im Header muss man so etwas Ähnliches machen wie

    PHP
    global $post;
    setup_postdata($post);
    $page_ID=get_the_ID();


    (ungetestet)

  • Um noch zur anfänglichen Frage zurückzuführen:
    Die im ersten Post gezeigte Abfrage geht ja, solange ich nicht Permalinks auf /%postname%/ einstelle. Dann wird wohl keine ID mehr übergeben oder kann so nicht abgefragt werden.

  • Ich hab es hinbekommen :-D Danke für die Hinweise

Jetzt mitmachen!

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