WordPress 検索一覧のアーカイブページのみ記事表示数を変える方法
ワードプレスで検索した時の一覧ページで、表示数を他のアーカイブページと別にする設定
ウェブサイトを見ていて、調べたい特定のワードを入力して、サイト内で調べることあると思います。そんな時サイト内検索を使いますが、検索キーワードで調べた時は一度に見比べたくありませんか?
ページネーションの2ページ目や他のページに飛ぶのって、ほぼないんじゃないかなと思いまして。
クライアントから自分が受けたレッスン一覧が見たいけど、どうしたらいいですか?と相談され、これを機に適当に作って放置していた「検索一覧ページ」をカスタマイズすることにしました。その備忘録です。
1、テーマの確認
WordPress子テーマフォルダ内の「functions.php」ファイルに書き加えます。
子テーマがない際は、まずは子テーマを作って下さい。
もし子テーマ設定がまだの場合は↓こちら参照
『で、結局WordPressってなんなんだ?!「子テーマ作成」中級編』
*作業前にはバックアップを取って下さい
今回私のテーマは、自作でPHPを打って作っているので子テーマは要らず、
そのまま「functions.php」に加筆します。
2、functions.php に新たに記載する
functions.php にこちらのコードを書き加えます。
↓ 30のところを、表示したい数にします
$query->set( 'posts_per_page', 30 ); // ←表示件数を変更
//検索で上がる記事数を指定する
function my_pre_get_posts( $query ) {
if ( is_admin() || !$query->is_main_query() ) {
return;
}
if ( $query->is_search() ) {
$query->set( 'posts_per_page', 30 ); // ←表示件数を変更
}
}
add_action('pre_get_posts','my_pre_get_posts');
3、serach.php って?
検索のアーカイブページである記事一覧ページは「serach.php」となります。
ない場合は、index.php が代替します。
テーマ作成の際、serach.php をとても適当に作っていたので、他のアーカイブページと同じように表示させることにしました。
まず、archive.php をコピーしまして、h1タイトル表示だけ検索の結果としての文言が出るようにしました。
?php the_search_query(); ? が、検索文言を吐き出します。
<h1 class="titlesizes">「<?php the_search_query(); ?>」の検索結果</h1>
例えば、検索窓に「イラストレーター レッスン」と入力し探した際には、タイトルは
「イラストレーター レッスン」の検索結果 と出力されます。

ココフラッペ公式LINE
LINEで簡単お問い合わせやレッスン予約が出来ます。
お役立ち情報も配信中!