Support » Allgemeine Fragen » Zusätzliche Widget-Bereiche einrichten

  • hallo
    ich weiss ich sollte einen neuen thread eröffnen, aber ich habe da keine möglichkeit gefunden.
    ich möchte in der navigation unterschiedliche themes verwenden, da das haupttheme die widgetposition, die ich benötige, leider nicht anbietet, und ich habe keinerlei erfahrung, wie weitere widgetpostitionen angelegt werden.
    ist das möglich?
    vielen dank für die antwort.
    gruss
    grit


    Moderationshinweis: Bitte starte für neue Fragen einen neuen Thread und markiere beantwortete Fragen als „gelöst“. Ich habe diese Frage hier in einen eigenen Thread verschoben.

Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)
  • Moderator Bego Mario Garde

    (@pixolin)

    Grundsätzlich kannst du pro WordPress-Installation nur ein Theme verwenden. Möchtest du diesem Theme weitere Widget-Bereiche zuweisen, musst du ein Child-Theme erstellen und die Templates entsprechend anpassen. Einfacher ist es, ein Theme zu verwenden, das gleich zu deinen Wünschen und Anforderungen passt.

    Thread-Ersteller mediafrog

    (@mediafrog)

    hallo.
    vielen dank.
    wenn der kunde nicht auf seinem theme bestehen würde, wäre es alles kein problem, da würde ich eines mit den entsprechenden widgets aussuchen. leider habe ich da keine handhabe.
    gibt es eine gute beschreibung, wie ich einem theme eine widgetposition hinzufügen kann? das würde mein problem auch lösen.

    vielen dank.

    Moderator Bego Mario Garde

    (@pixolin)

    Die Einrichtung von Widgets wird in der Dokumentation kurz beschrieben:

    Widget Areas

    Kurzgefasst musst du

    1. ein Child-Theme anlegen,
    2. in der functions.php einen Widget-Bereich „registrieren“. Dabei geht es darum, dass WordPress „lernt“, wie der Widget-Bereich heißt. Das kann z.B. so aussehen:
      
      <?php
      /**
       * Registriere meinen Widgetbereich
       *
       */
      function mein_widgetbereich_init() {
      
      	register_sidebar( array(
      		'name'          => 'Mein eigener Widget-Bereich',
      		'id'            => 'mein_widget_bereich',
      		'before_widget' => '<div>',
      		'after_widget'  => '</div>',
      		'before_title'  => '<h2 class="rounded">',
      		'after_title'   => '</h2>',
      	) );
      
      }
      add_action( 'widgets_init', 'mein_widgetbereich_init' );
      
    3. nun musst du überlegen, wo das Widget untergebracht werden soll und welches Template deines Themes für die Darstellung des Widget zuständig ist. Nehmen wir an, du möchtest das Widget im Template footer.php unterbringen. In diesem Fall kopierst du das Template aus dem Parent Theme in das Child-Theme und fügst erst einmal zum Test, ob du das richtige Template ausgewählt hast, im Template einen Platzhalter <h1>### hier soll mein Widget hin ###</h1> ein.
    4. Wird diese Zeile nach Aktivierung des Child-Theme im Footer angezeigt, kannst du mit der Einbindung des Widget-Bereichs weitermachen. Dazu ersetzt du den Platzhalter mit <?php dynamic_sidebar( 'mein_widget_bereich' ); ?>.
    5. Nun solltest du unter Design > Widgets bzw. im Customizer > Widgets einen neuen Widgetbereich „Mein eigener Widget-Bereich“ finden und ihm z.B. ein Textwidget zuweisen können. Auch hier würde ich erst mit einem Platzhalter arbeiten: *** Hier kommt mein Widget hin *** (Sonderzeichen wie ### und *** erleichtern dir die Suche in der Webseite, falls das Widget irgendwo anders „hinrutscht“.)
    6. Hat das alleds geklappt, kannst du das Platzhalter-Widget entfernen und die endgültig für diesen neuen Widget-Bereich vorgesehenen Widgets platzieren.

    Vielleicht kommt es dir komisch vor, das sowohl bei der Registrierung als auch bei der WordPress-Funktion zur Ausgabe der Begriff „Sidebar“ vorkommt, weil du vermutlich deinen eigenen Widget-Bereich doch nicht in der Seitenleiste platzieren möchtest. Das hat „historische“ Hintergründe: Ursprünglich waren Widgets nur für die Darstellung in einer Seitenleiste vorgesehen und später hat man die bereits eingeführte und vielfach verwendete Funktion nicht mehr umbenannt. Eine dynamic_sidebar() muss also nicht zwangsläufig deine Widgets am Seitenrand ausgeben.

    Thread-Ersteller mediafrog

    (@mediafrog)

    hallo. vielen dank.

    ich möchte in einer seite den short code für die suchfunktion integrieren.

    ich habe folgendes gefunden, was in die funktions.php eingetragen werden muss.

    function search_form_shortcode( ) {
        get_search_form( );
    }
    add_shortcode('search_form', 'search_form_shortcode');

    und dann in der seite
    [search_form]

    das habe ich auch so ausgeführt, aber leider ohne ergebnis. muss ich noch was anderes beachten?
    vielen dank.

    • Diese Antwort wurde geändert vor 1 Woche, 2 Tage von Hans-Gerd Gerhards. Grund: Bitte den Code immer als "Code" formatieren
    Thread-Ersteller mediafrog

    (@mediafrog)

    genauer gesagt, möchte ich die suchfunktion innerhalb einer kategorie einfügen, das macht vielleicht noch einen unterschied.

    Ich mag mich ja täuschen, aber wenn ich das richtig sehe, ist

    suchfunktion integrieren

    schon wieder ein neues Thema. Bego hatte bereits dieses Thema hier in einen neuen Thread verschoben und dich per Moderationshinweis darauf verwiesen: Ein Problem = ein Thema
    Lies bitte auch noch mal: Bevor du ein neues Thema (Thread) erstellst.

    Thread-Ersteller mediafrog

    (@mediafrog)

    hi,
    ja, ich weiss, hatte ich ja auch geschrieben, aber ich bin irgendwie zu blöd, einen neuen thread zu eröffnen.

    Hallo,
    oben links sollte bei dir eigentlich ein Menüpunkt „Neues Thema“ stehen.
    Viele Grüße
    Hans-Gerd

Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)