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 );