Web筋トレも使っているサーバー!ロリポップを使ってみない?

WordPressの検索結果ページ☆0件の場合の文言修正☆search.php/itirann.php/STINGER8のカスタマイズ

Sponser Link

ほむほむ

https://preschool-park.com/

のサイドメニューにある検索窓で

検索結果が0件だった場合の表示が不自然な日本語になってることに気づきました。

今日はその改修をしていきます!

Sponser Link

検索結果ページの修正前

まずは現状を把握していきましょう。

検索窓に『あああああ』と入れてみると、、、、

 

『まだ のプリスクールはありません』と不自然な日本語です。

ほむほむ

『まだ「あああああ」に関するプリスクールはありません』

と表示させていきたいですね。

検索結果はsearch.phpを使っていますが、

『まだ のプリスクールはありません』

この文言はカテゴリーページで記事がなかった時に出力するように書いたものです。

STINGER8に最初からあるitirann.phpです。

検索結果とカテゴリーページは同じitirann.phpを使っていて、

search.phpにitirann.phpを読み込んでるようです。

なので、itirann.phpだけを修正すれば良さそうです。

ほむほむ

下記はカテゴリーページで記事がない時の表示です。

search.phpを見てみるとitiran.phpを読み込んでいます。

条件分岐が複雑になったりすると、

phpを分けることがあります。

その方が後で見た時に見やすいです。

Sponser Link

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 ); ?>
Sponser Link

完成した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; ?>
Sponser Link

修正した表示を確認

ほむほむ

検索結果0件の場合の表示です。

『まだ「あああああ」に関するプリスクールはありません』

となりました!888888888(パチパチパチ・・

 

ほむほむ

カテゴリーページ記事0件の場合の表示です。

『まだ「弘前市」のプリスクールはありません』

となりました!「」(カギカッコ)をつけて見やすくしましたよ。

 

Sponser Link

PHPの書き方

PHPの書き方の基本をおさえておきましょう。

開始を<?php

終了を?>

これが基本です!

<?php
  //ここにコードを記述する。
?>

これをどう使うかで書き方が少し変わってきます。

Sponser Link

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 } ?>
Sponser Link

まとめ

今日は検索結果ページの改修をしてきました。

いかがだったでしょうか?

検索窓で0件の場合の表示もチェックしないといけませんね。

  • 検索結果ページに出力するためにはsearch.php
  • 条件分岐で検索結果ページを判定するのはis_search()
  • phpは<?phpで始まり、?>で終わる
  • if文の書き方も確認

 

Sponser Link

コメントを残す

メールアドレスが公開されることはありません。