Sidebar bei Eestellung/Beartbeitung einer Page/Artikel angeben

  • Aktuell kann man ja zum Beispiel bei der Erstellung einer Page über die Attribute ein Template auswählen, welches dann immer die entsprechende page-xy.php lädt, so wie ich definiert habe. Das klappt super.

    Genau diesen Prozes möchte ich gerne für die Sidebar vornehmen.
    Hier
    Customizing Your Sidebar WordPress Codex
    konnte ich schon lesen wie man WP mitteilt, welche Sidebars man grundsätzlich verwenden möchte. Das ist auchz fein.

    Wie schaffe ich es jetzt, wie oben beschrieben, ein meiner Sidebars bei der Page-Bearbeitung anzugeben. Dafür gibt es doch bestimmt was von Ratiopharm, oder? :)

    • 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

  • also du hast verschiedene Seitentemplates
    und verschiedene Sidebar Templates

    und möchtest diese beim Schreiben einer Seite leichtest ändern können?

    wenn dem so ist
    dann tät ich dies mittels benutzerdefinierte Felder lösen.

    benutzerdefiniertes Feld so benennen, dass man sich auch nach Monaten noch merkt welche Sidebar das ist

    tippt man dann irgendwas in das Feld als Wert - ist es *nicht leer*,

    in den page-xy.php Templates tät ich dann die Abfrage rein

    wenn benutzerdefiniertes Feld xyz nicht leer dann include sidebar ....


    hilft das mal so weiter?

    lg

  • An so etwas habe ich schon gedacht Monika.

    Für alle, die ähnliches vorhaben. Was habe ich bis jetzt gemacht?

    Da ich später zu jeder Page die Möglichkeit haben möchte, diese in einem anderen Look darstellen zu können, habe ich die Page.php kopiert und für mich eine eingangshalle-page.php und eine videotext-page.php erstellt.
    Wichtig ist erst [NAME]-page.php

    Damit man später über die Attribute bei Seitenerstellung auch Eingangshalle/Videotext auswählen kann, muss man in den beiden Files oben eine Angaben machen.

    Man sucht in eingangshalle-page.php nach

    PHP
    <?php get_header(); ?>

    Darüber habe ich gesetzt

    PHP
    <?php
    /*
    Template Name: Eingangshalle
    */
    ?>

    Das bei der zweiten neuen Page auch machen. Wenn du jetzt eine Page erstellst, dann kannst du rechts in den Attributen eines der beiden Templates auswählen.

    Jetzt komme ich zu den Sidebars:

    Erst habe ich dies in die functions.php geschrieben

    PHP
    register_sidebar(array('name' => 'eingangshalle'));
    register_sidebar(array('name' => 'videotext'));

    Dann habe ich einfach einen Text-Editor genommen und die sidebar-eingangshalle.php und sidebar-videotext.php erstellt. In der jeweiligen Datei habe ich nur den Namen als Text reingeschrieben

    Die beiden Seiten eingangshalle-page.php und videotext-page.php habe ich entsprchend geändert. Statt

    PHP
    <?php get_sidebar(); ?>

    schreibe ich

    PHP
    <?php get_sidebar('eingangshalle'); ?>

    bzw. in das andere File

    PHP
    <?php get_sidebar('videotext'); ?>

    Nun kann man eine Seite im Admin erstellen und rechts in den Attributen "Eingangshalle" auswählen. Oder eben Videotext. Wenn man die Seite neu lädt, also den Blog, dann erscheint rechts entweder bei mir der Text "Eingangshalle" oder eben "Videotext" anstelle der Sidebar.

    Nun wollen wir aber statt dem Text dort auch die Widgets sehen.
    Ich öffne die sidebar-eingangshalle und setze dort hinein:

    PHP
    <div id="sidebar_header">
    </div>
    <div style="clear:both;"></div>  
    <div id="sidebar">
        <ul id="sidelist">
          <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('eingangshalle') ) : ?>
                Keine Widgets in deiner Sidebar
          <?php endif; ?>
        </ul>
      </div>

    Für die sidebar-videotext.php entsprechend:

    PHP
    <div id="sidebar_header">
    </div>
    <div style="clear:both;"></div>  
    <div id="sidebar">
        <ul id="sidelist">
          <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('videotext') ) : ?>
                Keine Widgets in deiner Sidebar
          <?php endif; ?>
        </ul>
      </div>

    Das funktioniert soweit auch supper. Ich kann jetzt also eine Seite erstellen und eines meiner Templates zuordnen. Bei mir sind dies Farbvarianten und ein Logo über der Sidebar, was sich ändert. Ich habe es alkso so gelöst, dass eine Sidebar einem Template zugeordnet ist. So schlage ich zwei Fliegen mit einer Kappe.


    [COLOR=Red]Mein Problem ist aktuell aber noch, dass ich dieses Verfahren gerne auch für Artikel machen möchte. Aber da leuchtet mir gerade nicht ein woher WP weiß,. welches Template er nehmen soll. Wenn ich bei mir einen Artikel aufrufe, bekomme ich so eine Default-Sidebar aus sidebar.php geladden.
    Helft mir mal gerade auf die Sprünge, wie ich das anstellen kann.[/COLOR]

Jetzt mitmachen!

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