ほむほむ
目次
検索結果ページの修正前
まずは現状を把握していきましょう。
検索窓に『あああああ』と入れてみると、、、、
『まだ のプリスクールはありません』と不自然な日本語です。
ほむほむ
『まだ「あああああ」に関するプリスクールはありません』
と表示させていきたいですね。
検索結果はsearch.phpを使っていますが、
『まだ のプリスクールはありません』
この文言はカテゴリーページで記事がなかった時に出力するように書いたものです。
STINGER8に最初からあるitirann.phpです。
検索結果とカテゴリーページは同じitirann.phpを使っていて、
search.phpにitirann.phpを読み込んでるようです。
なので、itirann.phpだけを修正すれば良さそうです。
ほむほむ
下記はカテゴリーページで記事がない時の表示です。
search.phpを見てみるとitiran.phpを読み込んでいます。
条件分岐が複雑になったりすると、
phpを分けることがあります。
その方が後で見た時に見やすいです。
PHPファイルの修正
ほむほむ
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> //記事がある場合 <?php endwhile; else: ?> //記事がない場合 <p>まだ<?php if ( is_category() ) { ?> //カテゴリーページの場合 <?php single_cat_title(); ?> <?php } ?> のプリスクールはありません。</p> <?php endif; ?>
if文で分岐しています。
ほむほむ
検索結果の場合をelseifで追加してあげれば良いですね。
検索結果ページにだけ表示させるには下記を使います。
is_search()
検索した言葉は下記で表示することができます。
<?php echo esc_html( $s ); ?>
完成したPHP(if文で分岐)
ほむほむ
<?php if ( is_search() ) : ?> //検索結果ページ <p>まだ「<?php echo esc_html( $s ); ?>」に関するプリスクールはありません。</p> <?php elseif ( is_category() ) : ?> //カテゴリーページ <p>まだ「<?php single_cat_title(); ?>」のプリスクールはありません。</p> <?php endif; ?>
修正した表示を確認
ほむほむ
検索結果0件の場合の表示です。
『まだ「あああああ」に関するプリスクールはありません』
となりました!888888888(パチパチパチ・・
ほむほむ
カテゴリーページ記事0件の場合の表示です。
『まだ「弘前市」のプリスクールはありません』
となりました!「」(カギカッコ)をつけて見やすくしましたよ。
PHPの書き方
PHPの書き方の基本をおさえておきましょう。
開始を<?php
終了を?>
これが基本です!
<?php //ここにコードを記述する。 ?>
これをどう使うかで書き方が少し変わってきます。
if文の条件分岐の書き方色々〜
定番のif文ですが、書き方が色々あります。
ここで確認しておきましょう。
ほむほむ
同じ内容を3つの書き方で書いています。
検索すると色々なパターンの書き方が出てくると思うので、
このパターンだけ頭に入れておくと良いですよ。
if文の条件分岐その①
<?php if ( in_category( array( 'aaa' ) )) : ?> カテゴリーaaaの場合に表示 <?php elseif ( in_category( array( 'bbb', 'ccc' ) )) : ?> カテゴリーbbb、cccの場合に表示 <?php else: ?> それ以外の場合に表示 <?php endif; ?>
if文の条件分岐その②
<?php if ( in_category( array( 'aaa' ) )) { //カテゴリーaaaの場合に表示 } elseif ( in_category( array( 'bbb', 'ccc' ) )) { //カテゴリーbbb、cccの場合に表示 } else { //それ以外の場合に表示 } ?>
if文の条件分岐その③
<?php if( in_category( array( 'aaa' ) )) { ?> //カテゴリーaaaの場合に表示 <?php } elseif ( in_category( array( 'bbb', 'ccc' ) )) { ?> //カテゴリーbbb、cccの場合に表示 <?php } else { ?> //それ以外の場合に表示 <?php } ?>
まとめ
今日は検索結果ページの改修をしてきました。
いかがだったでしょうか?
検索窓で0件の場合の表示もチェックしないといけませんね。
- 検索結果ページに出力するためにはsearch.php
- 条件分岐で検索結果ページを判定するのはis_search()
- phpは<?phpで始まり、?>で終わる
- if文の書き方も確認