質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.57%

WordPressのサイト内検索結果表示の問題

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 399

aosora

score 10

WordPressの書籍「WordPressデザインブック」を参考に
ローカル環境にてテストサイトを構築しています。

サイト内検索結果表示の問題があり困っています。

該当するキーワードでは検索結果が表示されます。
例 http://localhost/test/?s=test

該当しないキーワードや空白の場合では何も表示されない検索結果が表示されます。
例 http://localhost/test/?s=apple

該当しないキーワードや空白の場合は下記のように表示したいと思います。
タイトル:「○○○○○○○の検索結果」
説明文:「検索キーワードに該当する記事がありませんでした。」

このサイトは初めての利用なのですが、皆様のお力をお貸りさせていただければ助かります。
お手数をおかけいたしますが、よろしくお願いいたします。

追記1

質問者様のお陰で私のミスが分かりました。ありがとうございました。
書籍で提供されているファイルの中に「search.php」のサンプルがあるのですが、これを設置するのを忘れていました。

ただ、サンプルの「search.php」を設置しても検索結果のタイトルのみ表示です。
該当しないキーワードや空白の場合はタイトルの「"apple" に一致した記事」の下に
「検索キーワードに該当する記事がありませんでした。」を表示させたいです。

現状の画像を添付します。

イメージ説明

search.phpのコードは下記になります。

<div class="sub-header">
    <div class="bread">
    <ol>
        <li><a href="<?php echo home_url(); ?>">
        <i class="fa fa-home"></i><span>TOP</span>
        </a></li>

        <li>
        <a>検索結果</a>
        </li>

    </ol>
    </div>
</div>

<div class="container">
<div class="contents">

    <h1>"<?php echo get_search_query(); ?>" に一致した記事</h1>

    <?php if(have_posts()): while(have_posts()):
    the_post(); ?>

    <?php get_template_part( 'gaiyou', 'medium' ); ?>

    <?php endwhile; endif; ?>


    <div class="pagination pagination-index">
    <?php echo paginate_links( array(
        'type' => 'list',
        'prev_text' => '&laquo;',
        'next_text' => '&raquo;'
    ) ); ?>
    </div>

</div>

<div class="sub">
    <?php get_sidebar(); ?>
</div>
</div>

<?php get_footer(); ?>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2018/10/25 22:11

    コードをコードブロックで提示されてはいかがでしょう。

    キャンセル

  • aosora

    2018/10/25 22:14

    ありがとうございます。どのコードを提示すればいいですか?コードブロックはどうすれば良いでしょうか?よろしくお願いいたします。

    キャンセル

  • kei344

    2018/10/25 22:33

    自作テンプレートならサイト内検索用のテンプレートを提示してください。コードブロックは```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。https://teratail.com/help#about-markdown

    キャンセル

回答 2

+1

下記記事を参照してみてください。

【ループ - WordPress Codex 日本語版】
https://wpdocs.osdn.jp/ループ

【WordPressの基本操作と使い方|WordPressのツボ】
http://www.adphic.jp/wp/templatetag/loop/have_posts/

【WordPressで投稿を表示。正しいループの書き方徹底まとめ。 | WWWクリエイターズ】
http://www-creators.com/archives/2202

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

check解決した方法

0

kei344様のアドバイスにより解決することができました。
お力を貸して頂き感謝しております。

お伝えいただいた下記のサイトを参考にsearch.phpの記述を修正しました。

【WordPressの基本操作と使い方|WordPressのツボ】
http://www.adphic.jp/wp/templatetag/loop/have_posts/

修正したコードです。

<?php endwhile; ?>
<?php else: ?>
検索キーワードに該当する記事がありませんでした
<?php endif; ?>

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.57%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る