ID der Toplevel Page ausgeben

  • Hallo Freunde, ich hätte dam mal eine Frage.
    Ich versuche gerade in Wordpress (3.0.3) die Hauptseiten ID Auszugeben, jedoch komme ich nicht dahinter wie ich das lösen soll.
    die ID soll dann in den HTML Kopf kommen.

    PHP
    <html id="pageID-1">

    zum beispiel.

    Was ich bis jetzt geschafft habe ist das ich den Seiten namen der Hauptseite ausgebe

    PHP
    <?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); }?>

    Wenn ich in diesem Beispiel in der letzten Zeile "get_the_title" mit "get_the_ID" passiert garnichts.

    Könntet ihr mir bitte etwas auf die sprüng helfen?
    Danke

    • 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

  • in dem beispiel ist [COLOR=#0000bb][FONT=Courier New]$grandparent [/FONT][FONT=Verdana][COLOR=black] schon die ID.[/COLOR][/FONT][/COLOR]
    [COLOR=#0000bb][/COLOR]
    [COLOR=#0000bb][/COLOR]
    [COLOR=#0000bb][/COLOR]hier noch meine version fuer beliebig tiefe nachkommenschaft:

    PHP
    <?php if(is_page()):
    $toppage=array_reverse(get_post_ancestors($post->ID));
    if($toppage[0]){echo $toppage[0];}else{echo $post->ID;};
    endif;?>



    http://codex.wordpress.org/Function_Refer…_post_ancestors


  • du bist der erste, der dem <html> eine css id mitgibt - normal sehe ich das immer im body tag :mrgreen:

    jau, das hab ich so auch noch nicht gesehen. :smile:

    Würde nicht auch diese dürre Zeilenänderung in der header.php reichen um jeder Seite eine id zuzuweisen?

    PHP
    <body id="id-<?php print $post->ID;?>">

    Oder funktioniert das beim 3er WP nicht mehr?

  • koslowski:

    Zitat

    Würde nicht auch diese dürre Zeilenänderung in der header.php reichen um jeder Seite eine id zuzuweisen?



    ja;
    ich vermute aber, der gedanke hinter diesem thread ist, ueber die ID eine art 'clan'-zugehoerigkeit festzulegen, um allen 'familienmitgliedern' unabhaenging vom ihrem rang in der familie dasselbe design zuzuweisen (?)

  • Mit print "$post->ID" würde ich nur die ID der jetzt aktiven Seite ausgeben.

    Und nun zur ID im <html> :)
    Ddas hat den Grund da ich mit der ID im Html 2 verschiedene hintergundbilder über css ansprechen kann.

    Beispiel für top-level Seite 1
    html#id1 {background-image (1a.jpg);}
    html#id1 body {background-image (1b.jpg);}

    Beispiel für top-level Seite 2
    html#id2 {background-image (2a.jpg);}
    html#id2 body {background-image (2b.jpg);}

    usw.
    natürlich könnte ich auch eine class statt id verwenden :)


  • ja;
    ich vermute aber, der gedanke hinter diesem thread ist, ueber die ID eine art 'clan'-zugehoerigkeit festzulegen, um allen 'familienmitgliedern' unabhaenging vom ihrem rang in der familie dasselbe design zuzuweisen (?)

    danke für die Info. :smile:

  • Hallo,

    eigenlich Spitze der Code von alchymyth ist genau DAS was ich die ganze Zeit suche :-)
    Nur hab ich das Problem, dass ich einfach nicht dahinter komme wie ich statt der Page-ID den Titel der Seite auszugeben.

    Zitat

    Naja, zugegeben ich hab auch so gut wie 0 Ahnung von PHP ;-)

  • Öhm .. aber hallo, online funktionierts !

    Lokal wenn ichs mit WAMP und Co. ausprobiert hab, zeigt er immer nur die ID an.


    Ebenso kann ich lokal auch nicht mit numerischen Permalinks arbeiten - hier funktioniert nur die Standartanzeige - wobei das jetzt kein Problem darstellt, ist mir nur im Zusammenhang eingefallen ;)

Jetzt mitmachen!

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