Wie kann man mit dem Elementor Suchformular nur nach bestimmten Inhaltstypen suchen?

27.09.2022

Bild eines schönen aufgeräumten Gartens

Elementor Pro besitzt ein Widget namens „Suchformular“. Dieses eignet sich für die hübsche Gestaltung von Suchformularen. In der Programmatik ist dieses Suchformular leider beschränkt.

Frage: Wie kann man das Elementor Suchformular so modifizieren, dass man die Suche auf bestimmte Inhaltstypen einschränkt (z.B. nur nach Posts, Pages, Products, FAQ, … suchen)?

Antwort / Lösung:

  1. Dem Widget eine eindeutige ID gebeb, z.B. mnc_search_posts
  2. In functions.php folgenden Code einfügen:
    add_action( 'elementor_pro/search_form/after_input', function( \ElementorPro\Modules\ThemeElements\Widgets\Search_Form $form ) {
       if($form->get_settings()['_element_id'] ?? null  === 'mnc_search_posts') {
          echo '<input type="hidden" name="post_type" value="post" />';
       }
    }, 10, 1 );