Vistered Little - Navigation in den Header einbauen

  • Wäre super wenn mir jemand helfen könnte, ich kenne mich mit PHP leider nicht aus. Ich würde mir gerne eine Navigation basteln, die sollte so platziert sein, wie auf dem Bild das ich angehängt habe.
    Habe mal versucht, in header.php eine Tabelle zu platzieren aber die verschwindet hinter der Header-Grafik, also hinter "background.png".
    :confused:

    • 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

  • Hi,

    eine Tabelle ist für tabellarische Daten da.
    Eine Reihe von Links gehört semantisch als Liste ausgezeichnet (ul).

    PHP
    <div id="kopf">
      <h1>Schrauben Müller - <span>Der Blog</span></h1>
    </div><!-- Ende #kopf -->
    <div id="topnavi">
      <ul>
        <li><a href="/wordpress/"<?php if(is_home() and !is_paged()) echo ' class="aktiv"'; ?>
             title="Startseite">Startseite Blog</a></li>
        <?php wp_list_pages('title_li='); ?>
      </ul>
    </div><!-- Ende #topnavi -->

    So könnte der entscheidende Teil einer header.php aussehen.

    Zuerst div#kopf mit Hauptüberschrift und direkt danach div#topnavi mit der horizontalen Navigation.
    Optisch kann man es so aussehen lassen als wäre die navi im Kopf, z.B. gleiche Farbe und kein Abstand zwischen #kopf und #topnavi.

    Mit dem ersten li wird sichergestellt das die gerade aktuelle Seite optisch hervorgehoben wird (die Klasse .aktiv hat die gleiche Formatierung wie die Klasse .current_page_item welche auf der aktuellen Seite normal ausgegeben wird)

    Durch wp_list_pages werden die Links als Liste ausgegeben und jeder Listenpunkt bekommt noch zwei Klassen mit auf den Weg:
    .page_item und .page-item-5 wobei die 5 nur beispielhaft ist.
    Jeder Listenpunkt bekommt eine individuelle Klasse mit einer jeweils anderen Zahl augegeben.
    So hast du genug Ansatzpunkte um das Ganze per CSS zu gestalten.

    Innerhalb der Klammer nach wp_list_pages können noch versch. Parameter eingetragen werden, um das Ergebnis zu steuern.


    Bin kein WP-Profi deshalb hoffe ich nix falsches zu erzählen. :)

    Gruß
    koslowski

  • Vielen Dank schon mal für die Antwort. Leider kapiere ich das mit den Klassen nicht. Könntest Du das was Du meinst direkt auf die header.php meines Themes beziehen? Der Code davon lautet:

    Und aussehen tut das wie im Anhang. Dort wo die thumbnails sind hätte ich gerne meine Links, nur halt rechts.

  • Hi,

    mit deiner header.php kann ich leider nix anfangen.

    Wenn du im Backend verschiedene Seiten erstellt hast, kannst du mit wp_list_pages dir diese Seiten als Linkliste ausgeben lassen.

    Dabei weist WP den Listenpunkten Klassen zu.
    Für den Link der aktuellen Seite wird dem entsprech. Listenpunkt .current_page_item zugewiesen. Diese Klasse kannst du mit CSS individuell gestalten.

    Außerdem wird den Listenpunkten die Klasse .page_item und eine spezifische Klasse z.B. .page-item-(irgendeine Zahl) zugewiesen.
    Diese Zahl ist bei jedem Listenpunkt anders.

    Diese Klassen kannst du herausfinden indem du den Quelltext der Seite aufrufst und nachsiehst welche Klassen WP vergibt.

    Das sind auch wieder Ansatzpunkte um die Liste per CSS zu gestalten.

    Ohne CSS-Kenntnisse ist eine individuelle Gestaltung der Links leider schwerlich möglich. ;)

    Gruß
    koslowski

  • Ich GLAUBE ich weiß ungefähr was Du meinst. Aber um die Gestaltung der Links geht es mir noch nicht, mir geht es ERSTMAL darum, überhaupt Links (oder einfach nur Schrift) dorthin platziert zu bekommen, wo ich sie haben will - also rechts von den Thumbnails. Und das ohne dass sie von der Header-Grafik überdeckt werden, so wie es mit der Tabelle passiert ist, von der ich vorher schrieb. Oder meinst Du das mit "Gestaltung der Links"?

  • Moin,

    Aber um die Gestaltung der Links geht es mir noch nicht, mir geht es ERSTMAL darum, überhaupt Links (oder einfach nur Schrift) dorthin platziert zu bekommen, wo ich sie haben will - also rechts von den Thumbnails.

    genau das ist Gestaltung. :)

    Alles was mit positionieren von Elementen zu tun hat, mit Farben, Größen, usw. ist CSS.


    Und das ohne dass sie von der Header-Grafik überdeckt werden, so wie es mit der Tabelle passiert ist, von der ich vorher schrieb.

    Eine Headergrafik sollte eine Hintergrundgrafik sein und nicht als img eingebunden werden (außer dem Logo vielleicht.).

    Zum positionieren zählt auch die Stapelreihenfolge, d.h. die Schichtung auf der z-Achse (zum Betrachter hin).

    Wenn man das falsch macht kann schon mal ein Element unerwünschterweise das andere verdecken.


    Oder meinst Du das mit "Gestaltung der Links"?

    jep. :)

    Gruß
    koslowski

  • Okay super! Soweit erscheint die Navi die Du oben gepostet hattest genau an der Stelle wo ich sie haben will. Allerdings erscheinen die Links (Seiten) alle untereinander, ich hätte sie ja aber gerne nebeneinander. Also so:

    Seite1 | Seite2 | Seite3

    statt so:

    Seite1
    Seite2
    Seite3


    Wie macht man das denn? Mein CSS dazu sieht jetzt so aus:

    Code
    #navi {
        
            position: absolute;
            text-align: right;
            top: 85px;
            right: 10px;
            font-size: .8em;
    }
  • Vielen Dank für die Hinweise, jetzt ist es so wie ich´s haben wollte. In der header.php steht jetzt:

    PHP
    <div id="navi">
    <ul>
        <?php wp_list_pages('title_li=', 'depth=1', 'sort_column=ID'); ?>
      </ul>
    </div>

    Und in der style.css:

    position:absolute für die navi halte ich für keine gute Idee, das geht ohne besser.


    Aber dann "springt" die Navileiste ganz woanders hin :confused:
    Gruß,
    Karlo

  • Moin,


    Aber dann "springt" die Navileiste ganz woanders hin :confused:

    ohne einen Link zur Seite kann ich leider nur spekulieren. :)

    Wenn das ein normaler header mit Hauptüberschrift und darunter die navi ist, kann sie eigentlich nicht woanders hinspringen.

Jetzt mitmachen!

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