検索結果に表示される本文抜粋に対してキーワード該当部分を表示したいのですが、できていません。
→functions.phpに、キーワード該当部分を含む前後を表示するように追記してみましたが、うまく表示できませんでした。
どういうカスタマイズコードを書いたのかが具体的にわからないので第三者がアドバイスをするのが難しいです。
また、検索結果ページはテーマによって違うのでご利用のテーマによって回答も違ってくると思います。
そのあたりの情報をもう少し記載すると誰かがアドバイスしてくれるかもしれません。
※ カスタマイズが思う通りに動作しないのは「不具合」とは違うと思います
コメントいただき有難うございます。また、不具合という表現失礼いたしました。
使用テーマ:Lightning
試した方法は以下です。
①main-archive.php に次のコードを加筆
// 抜粋部分をカスタマイズする関数を呼び出し if ( is_search() ) { echo get_custom_excerpt(get_the_content(), get_search_query(), 200); } else { lightning_get_template_part( 'template-parts/loop-item', $post_type_info['slug'] ); }
②functions.php に次のコードを加筆
function get_custom_excerpt($content, $keyword, $excerpt_length = 200) { $keyword_position = stripos($content, $keyword); if ($keyword_position !== false) { $start = max(0, $keyword_position - $excerpt_length / 2); $end = min(strlen($content), $keyword_position + strlen($keyword) + $excerpt_length / 2); $excerpt = substr($content, $start, $end - $start); $excerpt = '...' . $excerpt . '...'; return '<div class="custom-excerpt">' . esc_html($excerpt) . '</div>'; } else { return '<div class="custom-excerpt">' . wp_trim_words($content, 55, '...') . '</div>'; } }