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

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

Siehe auch

Weitere Techdoks und Snippets