Simplicityの特徴 › フォーラム › Simplicity2に関する話題何でも › サイト内検索の結果表示数について
- このトピックには5件の返信、1人の参加者があり、最後に
Okusanにより10年、 3ヶ月前に更新されました。
-
投稿者投稿
-
-
2016年6月1日 11:34 PM #41713
Okusan
ゲストいつもお世話になっております。
サイト内検索(googleでない標準の)についてなのですが
現在設定内の【1ページに表示する最大投稿数】を12にしています。この設定でサイト内を検索すると結果も1ページにつき12記事出るのですが
最大投稿数を1に変更すると検索結果も1ページに表示されるのが1記事になってしまいます。
検索結果だけは12記事出るようにすることは可能でしょうか?お忙しいところ申し訳ありませんがどうぞよろしくお願いいたします。
-
2016年6月2日 12:43 AM #41716
Hidekichi
ゲストつまりは、トップのリスト表示は1件で、検索した時の結果は12件表示にしたいということですか?
特に聞くべき理由はないんですが、「トップのリスト表示は1件」にするとページャーが大変なことになるかと思うんですが、トップのリスト表示1件というのはどういった理由なんでしょうか?
-
2016年6月2日 1:47 AM #41717
Okusan
ゲストHidekichiさんお返事ありがとうございます。
今までは表示スタイルを【エントリーカード】にしていましたが
これからは【本文を表示】に変更しようと思っているので1件か2件にしたいのですが
そうすると検索結果も少なくなってしまうのでどうしたものかと書き込ませていただきました。 -
2016年6月2日 1:56 AM #41718
Hidekichi
ゲストなるほど。
では、子テーマfunctions.phpに、
add_action('pre_get_posts','change_item_limit'); function change_item_limit($query){ $new_limit = 1; if (!is_archive() && $query->is_main_query()){ set_query_var('posts_per_page',$new_limit); } }とかでどうでしょうか?
アーカイブ以外は1件、アーカイブの時はいつもどおりと言う感じです。 -
2016年6月2日 2:04 AM #41719
Hidekichi
ゲスト検索の時だけなら、is_search()と言うのも使えます。
アーカイブは、カテゴリ、タグクラウドのいずれかをクリックした時に出てくるものなどです。!is_archive()はアーカイブでない時と言うことです。なので上記スクリプトで検索の時にアイテム数が異なる場合は、!is_search()を&&で加えると検索の時はいつも通りになるかと思います。
つまり条件としては、入れる条件以外は1件($new_limit)で、条件の場合はいつも通りという感じになります。
if (!is_archive() && !is_search() && $query->is_main_query())こういう書き方で追加できます。
-
2016年6月2日 7:51 PM #41780
Okusan
ゲストHidekichiさん、詳しく説明してくださってありがとうございます。
最大投稿数を12件のまま、is_search()部分を含めたものを追加したところ
無事に表示されるのはトップページは1件だけになり、検索は12件出るようになりました。
前回も色々教えていただき、今回も本当にありがとうございます。
-
-
投稿者投稿
- トピック「サイト内検索の結果表示数について」には新しい返信をつけることはできません。