Wie erstellt man dynamisch eine Widget-Sidebar für jede Kategorie?

Ich möchte für jede Kategorie einen anderen Inhalt in der Seitenleiste anzeigen, aber wenn ich neue Kategorien erstelle, muss ich den Bereich dafür erstellen. Wie kann ich die Widgetbereiche dynamisch gestalten?

Solutions Collecting From Web of "Wie erstellt man dynamisch eine Widget-Sidebar für jede Kategorie?"

Keine gute Sache, wenn Sie viele Kategorien haben, seien Sie also vorsichtig!

Fügen Sie zuerst die folgende function in functions.php :

 add_action( 'widgets_init', 'generate_widget_areas' ); function generate_widget_areas() { //Do not create for uncategorized category $terms = get_categories('exclude=1&hide_empty=0'); foreach ($terms as $term) { register_sidebar( array( 'name' => 'Category '.$term->name, 'id' => $term->slug.'-widget-area', 'description' => 'Widget area for category and posts in '.$term->name, 'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '

    ', 'after_title' => '

    ' ) ); } }

    Das ist genug, jetzt in Widgets haben Sie einen Widget-Bereich für jede Kategorie. Jetzt müssen Sie den Bereich für die Kategorie anzeigen. Ich möchte den Bereich für Kategorielisten (Kategorien von Beitragsauflistungen) und den gleichen Bereich für Beiträge anzeigen, die auch die Kategorie verwenden (einzelne Beitragsseiten).

    sidebar.php in der sidebar.php hinzu:

     < ?php if (is_category() ||is_archive()||is_single()) : ?>  < ?php endif; ?> 

    Das ist alles, ich wette, dass jemand einen besseren Code hat, jetzt macht das den Trick.