ElementorとSearchWPの使用
Elementorは、何百万人ものウェブサイトで使用されている驚くほど人気のあるWordPressサイトビルダーです。
Elementorは、ウェブサイト全体を視覚的に構造化して構築できるだけでなく、すべてのツールを使用して検索結果テンプレートをカスタマイズすることもできます!
さらに良いことに、SearchWPはElementorの検索結果テンプレートと自動的に統合されます! ?
注意:検索フォームにはElementorの検索フォームモジュールを使用してください
Elementor検索結果テンプレートの設定
Elementorにはテーマビルダーが組み込まれており、カスタム検索結果テンプレートをすばやく設定できます。
テーマビルダーを使用して結果テンプレートを構築するか、テーマビルダーページの[検索結果]タブで[新しい検索結果を追加]をクリックします。
この記事では、テーマビルダーで検索結果テンプレートを設定することに焦点を当てます。
テーマビルダーページの検索結果タブの手順については、こちらをご覧ください:https://elementor.com/help/customize-the-search-results-archive/
次に、検索結果を選択できます:
次に、使い慣れたすべてのElementorウィジェットを使用して、検索結果テンプレートのカスタマイズを開始できます。
重要:SearchWPの結果を表示するには、[アーカイブ投稿]ウィジェットを使用してください。
編集が完了したら、テンプレートを公開できます。検索結果を含めるように設定されていることを確認してください:
Elementorビルダーで構築された投稿コンテンツのインデックス作成
Elementorビルダーを使用して構築された一部の投稿コンテンツは、Elementorまたはそのアドオンによってデータがどのように保存されるかによって、SearchWPによって直接インデックス作成できない場合があります。この制限を克服するには、次のコードを使用する必要があります。コードをサイトに追加した後、変更を有効にするためにSearchWPインデックスを再構築する必要があります。
| <?php | |
| // Index post content built with the Elementor Builder | |
| add_filter( 'searchwp\source\post\attributes\content', function( $content, $args ) { | |
| if ( class_exists('\Elementor\Plugin' ) ) { | |
| // We don't want CSS code on the post content while indexing. | |
| add_filter( 'elementor/frontend/builder_content/before_print_css', '__return_false' ); | |
| $elementor = new \Elementor\Frontend(); | |
| $content = $elementor->get_builder_content_for_display( $args['post']->ID ); | |
| // Remove the filter once we have grabbed the content. | |
| remove_filter( 'elementor/frontend/builder_content/before_print_css', '__return_false' ); | |
| } | |
| return $content; | |
| }, 20, 2 ); |
使用するエンジンをカスタマイズ
デフォルトでは、SearchWP は検索を実行するために default エンジンを使用します。代わりに補足エンジンを使用したい場合は、このフックを使用できます。
All hooks should be added to your custom SearchWP Customizations Plugin.
| <?php | |
| // Customize SearchWP Engine used. | |
| add_filter( 'searchwp\native\args', function( $args, $query ) { | |
| $args['engine'] = 'supplemental'; | |
| return $args; | |
| }, 15, 2 ); |






