SearchWPハイライト
SearchWPには、投稿コンテンツ内で見つかった検索語を特定し強調表示する組み込みのハイライト機能が含まれています。検索結果ページにハイライトされたキーワードを含むテキストのスニペットを表示し、ユーザーが関連するコンテンツ部分を簡単に見つけられるようにします。この機能は、マルチページPDFなどの大きなメディアドキュメントに特に役立ちます。ファイル全体をスキャンし、ドキュメントコンテンツ、検索語のインスタンスを見つけ、それらのキーワードを含むセクションから抜粋を生成します。
ハイライト機能は、カスタムフィールドプラグインと完全に互換性があります。カスタムフィールド拡張(ACF)など、ACFテキストフィールドやその他のカスタムフィールドコンテンツで見つかった検索語から抜粋を生成できます。

ハイライトの有効化
ハイライト機能は、WordPress管理エリアのSearchWP一般設定ページから有効にできます。有効にすると、SearchWPは結果内の一致する検索語をハイライトするカスタム抜粋を自動的に生成します。
コンテンツ処理順序
ハイライトシステムは、抜粋を生成する場所を決定するために、特定の順序でソース属性を処理します。この優先順位付けアプローチにより、検索実装全体で効率的な処理と一貫した結果が保証されます。
投稿抜粋:SearchWPは、まず手動で作成された投稿抜粋を確認します。投稿にカスタム抜粋が定義されている場合、このコンテンツが検索語の存在について最初に評価されます。
投稿コンテンツ:抜粋が存在しない場合、または抜粋にキーワードが見つからない場合、SearchWPはメインの投稿コンテンツフィールドで検索語のインスタンスを調べます。
ドキュメントコンテンツ:PDFなどのメディアファイルの場合、SearchWPは抽出されたドキュメントコンテンツを処理して、ファイル内のテキストで検索語を見つけます。
カスタムフィールド:最後に、前の属性のいずれにも見つからなかった場合、SearchWPはカスタムフィールドコンテンツで検索語の存在を確認します。
検索されたキーワードがいずれかの属性で見つかった場合、後続の属性は処理されません。たとえば、投稿抜粋に検索キーワードが含まれている場合、SearchWPは抜粋生成のために投稿コンテンツまたはカスタムフィールドを調べません。
注意: 1つの属性フィールド内にキーワードが複数存在する場合、抜粋の生成にはキーワードの最初の出現が使用されます。
抜粋生成
SearchWPがキーワードを含むコンテンツを見つけてハイライトすると、キーワードの前後のテキスト部分を抽出して抜粋を生成します。このコンテキストアプローチにより、ユーザーは一致した用語だけでなく、一致のコンテキストを提供する周囲のコンテンツも確認できます。抜粋の長さはWordPressの設定によって制御され、WordPressのexcerpt_lengthフィルターフックを使用してカスタマイズできます。ドキュメントはこちら.
にあります。特にSearchWPライブ検索の結果の抜粋の長さを変更するには、次のカスタマイズを実装できます。
| <?php | |
| // Set excerpt length to 20 words for live search results | |
| function swp_excerpt_length( $length ) { | |
| if ( did_action( 'wp_ajax_searchwp_live_search' ) || did_action( 'wp_ajax_nopriv_searchwp_live_search' ) ) { | |
| return 20; | |
| } | |
| return $length; | |
| } | |
| add_filter( 'excerpt_length', 'swp_excerpt_length', 9999 ); |
強調表示された用語のスタイル設定
デフォルトのハイライトマークアップにはsearchwp-highlightCSSクラスが含まれており、カスタムスタイルでターゲットにしてハイライトされた検索語の視覚的な外観を制御できます。テーマのスタイルシートにカスタムCSSルールを追加して、ハイライトされたキーワードの背景色、テキストの色、フォントの太さ、その他の視覚的プロパティを変更できます。これにより、ハイライトされた用語が明確に見え、サイト全体のデザイン美学に一致することを保証できます。

