Verschiedene Widgets auf verschiedenen Seitenvorlagen?

Wenn ich ein paar verschiedene Seitenvorlagen habe, wie würde ich dann für jede dieser Vorlagen eine andere Sammlung von SidebarWidgets anzeigen? Ich verwende das Starkers-Thema als Ausgangspunkt.

Solutions Collecting From Web of "Verschiedene Widgets auf verschiedenen Seitenvorlagen?"

Sie müssen mehr Seitenleisten in Ihrer functions.php-Datei erstellen und dann die Seitenvorlagen bearbeiten, um die gewünschte Seitenleiste aufzurufen.

Hinzufügen von Seitenleisten

Geh in deine functions.php Datei. Sie sollten sehen, dass einige Seitenleisten bereits registriert sind. Der Code sieht ungefähr so ​​aus:

//Adds default sidebar if ( function_exists('register_sidebar') ) register_sidebar(); 

Um eine weitere Seitenleiste hinzuzufügen, fügen Sie nach der vorhandenen Seitenleistenregistrierung den folgenden Code beliebig oft hinzu.

 //Registers new sidebar if ( function_exists('register_sidebar') ) { register_sidebar(array('name' => 'Name Sidebar Here','before_widget' => '','after_widget' => '','before_title' => '

','after_title' => '

')); }

Wo es heißt ‘Name Sidebar Here’ hat einen logischen Namen für diese neue Sidebar gesetzt. Der Rest des Arrays ermöglicht Ihnen, HTML vor das Widget (before_widget) zu setzen, wenn dies für das Design des Themas erforderlich ist, und HTML nach dem Widget zu platzieren (after_widget). Außerdem wird in Designs häufiger ein benutzerdefinierter Stil für Widget-Titel verwendet. Sie können das HTML vor dem Titel (before_title) und nach dem Titel (after_title) einfügen. Im obigen Beispiel wird jedem

und danach das öffnende Tag geschlossen.

Fügen Sie Ihren Seitenvorlagen Ihre neue Seitenleiste hinzu

Nachdem Sie eine Seitenleiste hinzugefügt haben, müssen Sie sie in die Seitenvorlage einfügen, in der Sie sie haben möchten. Finden Sie, wo die Standard-Seitenleiste innerhalb Ihrer Vorlage aufgerufen wird (normalerweise) und ersetzen Sie sie durch die folgende, wobei die Nummer der Reihenfolge entspricht, in der die Seitenleiste in der functions.php-Datei hinzugefügt wurde.

 < ?phpif ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(Sidebar number here) ) : ?>< ?php endif; ?> 

Diese Sidebar war die zweite, die in der Datei functions.php hinzugefügt wurde. !dynamic_sidebar(Put sidebar number here) ) sie in der Seitenvorlage aufzurufen, setzen Sie 2 innerhalb von !dynamic_sidebar(Put sidebar number here) ) .

Widgets hinzufügen

Sobald Sie es der Seitenvorlage hinzugefügt haben, fügen Sie der Seitenleiste auf der Seite Darstellung -> Widgets einfach Widgets hinzu. Die neue Sidebar erscheint dort mit dem Namen, den Sie in der Datei functions.php angegeben haben.

Hoffe das hilft!

Und Widget Logic ist auch eine Option.

  1. Widget Logic ist eine Lösung – auch eine gute Lösung.

  2. Mehrere Sidebars sind die robustere Lösung, da Sie das gesamte vorhergehende / nachfolgende _widget-Markup in functions.php vollständig anpassen können. Ganz zu schweigen davon, dass Sie eine beliebige Anzahl dieser Seitenleisten erstellen können.

  3. Eine leichtere Lösung könnte einfach darin bestehen, die Body-class zu verwenden, um zwischen Seitenarten auf der CSS zu unterscheiden. Verstecken Sie die Sachen, die Sie nicht wollen, zeigen Sie die Sachen an, die Sie machen. Es ist ein schneller und einfacher Weg, um so etwas zu erreichen.

Eine weitere Lösung ist das Display-Widgets- Plugin, das in jedem Widget, das Sie in Ihrer / n Seitenleiste aktiviert haben, ein Dropdown-Menü hinzufügt, in dem Sie auswählen können, auf welchen Seiten / Posts diese ein- oder ausgeblendet werden sollen.

zwei weitere Optionen: 1. Anstatt “sidebar.php” komplizierter zu machen, fügen Sie die neuen Widget-Sidebars zu einer neuen Sidebar-Datei ‘sidebar-xxx.php’ hinzu und verwenden Sie dann die Seitenvorlage

  1. Sie können das Contextual-Widgets- Plugin verwenden