variierende Sidebar

  • Hallo,

    ich fänd es gut, wenn meine Sidebar nicht immer den gleichen Inhalt wiedergäbe.
    Wenn ich zum Beispiel eine Galerie aufrufe, sollte die Sidebar nur noch ein Galerieübersicht beinhalten.

    Das müsste gehen, zumindest wirkt es bei dem Vater des Bla-Themes so...

    • 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

  • Danke.
    Bin noch nicht dazu gekommen, es auszuprobieren, weil die Galerieübersicht nicht sowill wie ich. Ich habe, wie in der Dokumentation beschreiben eine Page für die Galerieübersicht angelegt und Unterseiten für die Gelerien. Doch der Link, der automatisch erzeugt wird, stimmt nicht. Es werden zwar alle Gelerien übersichtlich aufgeführt, aber man kann keine auswählen...

    Der Explorer zeigt folgenden Pfad an:
    ?page_id=36&gallery=kemp2005

    Page 36, ist die Galerieübersicht. Den Rest des Pfads versteh ich nicht, aber auf jeden Fall führt er ins Nichts... Kemp2005 ist der Name, der Galerie, die ich öffnen möchte... aber klappt ja nicht.

    Was stimmt da nicht?

    Einmal editiert, zuletzt von boriginal (21. Oktober 2006 um 22:55)

  • Jetzt komm ich mal auf die eigentlich Frage zurück:
    Kann man diesen is_page Befehl eigentlich auch umkehren?
    Bzw. wie stellt man den Befehl am geschicktesten um, also "wenn diese Page angezeigt wird, dann mach das NICHT"

  • nerv ich? wieso antwortet keiner mehr?
    Auf jeden Fall klappt das nicht. Ich möchte ja, dass wenn eine bestimmte Page aufgerufen wird in der Sidebar nur eine Galerieübersicht angezeigt wird.
    Also habe ich folgenden Code eingegeben:

    PHP
    <?php if (is_page('36')) { ?>
    <?php wp_list_pages('sort_column=ID&title_li=');?>
    </ul>
    </div>
    </div>
    <div id="n_foot"></div>
    </div>
    <?php } ?>


    Soll heissen: bei Page 36, zeig die Pageliste an und sonst nichts.
    Danach folgt dann das, was sonst (wenn andere Kategorien oder Seiten aufgerufen werden) angezeigt werden soll.

    Klappt auch soweit, nur spinnt jetzt der Footer. Der springt auf einmal an eine andere Position und bringt die ganze Seite durcheinander. Was ist denn da falsch?

  • Du hast das

    PHP
    <?php } ?>

    viel zu weit unten.
    Das muss direkt nach dem Aufruf deiner spezifischen Sache erfolgen.

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • Ja, aber ich möchte ja nicht nur zusätzlich die Übersicht anzeigen lassen, sondern auch alles andere ausblenden. Das war die einzige mir bekannte Möglichkeit, das zu ermöglichen.

    Wenn ich den Aufruf

    PHP
    <?php } ?>


    direkt unter den Page-List-Befehl setzte, wird zwar die Liste zusätzlich angezeigt, aber darunter folgt alles was sonst auch angezeigt wird. Das will ich doch nicht.

    Wie blende ich den Rest richtig aus?

  • Dann schreibe es halt erst etwas später. Aber nicht erst NACH dem Aufruf des Footers (so sieht es jedenfalls aus). Ist ja sonst kein Wunder, dass der Footer nicht erscheint.

    Und wenn du nicht willst, dass anderes Zeug bei der Galerie anzeigt wird, dann nutze diesen Code:

    PHP
    <?php if (! is_page('36')) { ?>
    Bla Bla
    <?php } ?>


    Dann wird der Code immer angezeigt, außer die Galerie ist offen.

    Oder leicht variiert:

    PHP
    <?php if (is_page('36')) { ?>
    Code der angezeigt wird, wenn Galerie angezeigt wird.
    <?php } else { ?>
    Code der immer dann angezeigt wird, wenn Galerie nicht angezeigt wird.
    <?php } ?>

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • Hervorragend! Hat geklappt.

    Weil es so gut geklappt hat, wollte ich die if-Befehle, die ich in meiner page.php hinterlegt hatte auch umstellen, doch das funktoniert komischerweise nicht.

    Das hab ich eingegeben:

    PHP
    <?php if(! is_page('30')| ! is_page('32')| ! is_page('28')){ ?>
    <?php the_date(); ?> um <?php the_time(); ?> Uhr 
    <?php }?>



    Das Datum wird jedoch nur auf Page 30 ausgeblendet, auf Page 32 und 28 wird es trotzdem angezeigt. Warum? Kann man die Befehle nicht so auflisten, oder habe ich einen anderen Fehler gemacht?

  • Wenn du ein ODER haben willst, dann musst du zwei Längsbalken nehmen, also so: ||
    Und ein Leerzeichen zu den Balken solltest auch lassen.

    Ansonsten kann es sein, dass du die jeweilige Bedingung noch einklammern musst:
    (! is_page('28'))

    "Eine gut gestellte Frage ist schon halb beantwortet."

Jetzt mitmachen!

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