-
投稿者投稿
-
2020年7月15日 1:45 PM #54095
トピックを新しく立てる方は次の項目も記述してください(要望トピックの場合は不要です)。
【お使いの Snow Monkey のバージョン】バージョン: 10.10.7
【お使いのブラウザ】Chrome
【当該サイトのURL】mono96.jp==
空のキーワードで検索した時に検索結果が表示されてしまうので、
「検索キーワードが未入力です」と、表示するようにカスタマイズしたく、my-snowmonkey にどう記述すれば良いのでしょうか?
参考
♥ 0いいねをした人: 居ません2020年7月15日 2:43 PM #54099下記のコードは、検索一覧のコンテンツ部分を差し替える一例です。ご参考にどうぞ。
add_filter( 'snow_monkey_template_part_render', function( $html, $slug, $name, $vars ) { // 検索ページの時に差し替える為の条件式 if ( is_search() && 'templates/view/archive' === $slug && 'search' === $name ) { // ここから参考ページのように設定 if ( empty( get_search_query() ) ) { // 検索ワードが空なら $html = '<div class="c-entry"><p>検索キーワードが未入力です。</div>'; // 表示するhtmlを代入 } } return $html; } , 10, 4 );
サイドバーなども表示されなくなるかもしれません。
その際は、htmlをDOM操作する形で適度に書き換えるのがベストと思います。また、検索結果と言うのがページタイトルとパンくずでふさわしくない形になるので、それらも差し替えた方が良いのであれば、下記のコードを参考にしてください。
add_filter( 'document_title_parts', function($title_parts) { if ( is_search() && empty( get_search_query() ) ) { $title_parts['title'] = '検索キーワードが未入力です';// ページタイトルを変える } return $title_parts; }, 9, 1 ); add_filter( 'snow_monkey_breadcrumbs', function( $items ) { if ( is_search() && empty( get_search_query() ) ) { $items[count( $items ) - 1]['title'] = '検索キーワードが未入力です'; } return $items; }, 9, 1 );
♥ 1いいねをした人: 居ません2020年7月15日 2:48 PM #54102これ、カスタマイズでなくデフォルトでそのような挙動にしたほうがいい気がするのですがどうでしょうね?
♥ 0いいねをした人: 居ません2020年7月15日 3:10 PM #54104@キタジマタカシ
その動きは、基本的にどっちが正しいのかですね。
WordPress のサイトって URL に?s=
で検索ページになりますが、空文字の時も動作は併用していますから、空文字だろうと検索一覧を表示するのが正しい動きの気もします。
公式ディレクトリにあるテーマでは、ほとんどのテーマでは一覧が出る動作をしているのですが、
一部のテーマで”検索ワードが…”と空文字チェックをしているテーマもあります。とあるシステムでは、空文字であっても検索結果を一覧で出す理由として、全記事をクロールさせる為にSEO的に強くなると書かれてました。ご参考までに。
♥ 0いいねをした人: 居ません2020年7月16日 11:06 AM #54130一致する検索結果がないときの表示もテーマ側で用意しないといけないから、空文字のときの表示を用意するのも別におかしくはないと思うんですよね。WordPress 的にはというより、実際に検索する人がどう感じるかと考えたときに、空文字だったらなにもでないほうが違和感ないんじゃないかなと思いまして。
空文字で検索するということを想定していなかったので特に表示をつくっていなかったんですけど、検索する人が「未入力ですよ」とだしたほうが違和感がないなら、Snow Monkey 的にはそういう表示にしたほうが良いかなと思います。
♥ 0いいねをした人: 居ません2020年7月16日 12:25 PM #54138一致する検索結果がないときの表示もテーマ側で用意しないといけないから、
Snow Monkey 的にはそういう表示にしたほうが良いかなと思います。
なるほどー。テーマ側で用意していないと検索結果が出ると言う感じです?
それならきちんと用意される方が良いと思います。しかし、そうされる場合でも、”今までと同じように一覧を出すかどうか”ってする事って言うのが、フックなりで可能だとめっちゃ助かります。
現場にも聞いたら「本当は”未入力です”エラーを出してくれる方が良いんだよね」と言う声もあるんですが、
T●Dのテーマとか他のテーマでは空文字時に検索結果を出してるのが多いようで、そう言うテーマを元々使用していた現場では「空文字でも検索される事は多いので一覧のままが良い」と言うのもあります。某テーマはわざわざそう言う細かい事を全然してないし、テーマ側で用意しないといけない事を用意してないだけなんだろなーと今は思ってますが。
「閲覧するユーザーが、空文字で全記事が出ると思っているか」「全記事表示しようとしたらエラーが出たからと言って離脱されるようになるのは一番困る」と。……現場ってめんどくさいですね(笑)
♥ 0いいねをした人: 居ません2020年7月17日 9:00 AM #54188@Kmical Lights さん
しかし、そうされる場合でも、”今までと同じように一覧を出すかどうか”ってする事って言うのが、フックなりで可能だとめっちゃ助かります。
要は下記に空文字列かどうかの判定を追加して、呼びだすビューを差し替えることになるので、空文字検索でもそのビューにいかないように
snow_monkey_view
フックで書き換えれば大丈夫だと思います。♥ 1いいねをした人: 居ません2020年8月12日 2:30 PM #55287Snow Monkey v11 から、「検索キーワードが未入力です」の表示になるように変更しました!
♥ 2いいねをした人: 居ません -
投稿者投稿
- トピック「空(入力なし)の検索結果をカスタマイズしたい」には新しい返信をつけることはできません。