• 解決済 chatm

    (@chatm)


    search.phpに,ページのタイトルに検索結果を表示する下記を入れています。
    見つかった時にはタイトルに「『○○』の検索結果」と表示され、その記事が表示されるのですが、
    見つからなかった場合はタイトルに何も表示されません。
    「『○○』は見つかりませんでした。」と入れたいのですがどうすればよろしいでしょうか。
    php初心者ですみません。

    <!– 検索結果をタイトルバーに表示する –>
    ‘<?php if(is_search()): ?>
    <p id=”pagetitle”>『 <?php the_search_query(); ?> 』の検索結果</p>
    <?php else : ?>
    <p id=”pagetitle”>『 <?php the_search_query(); ?> 』は見つかりませんでした。</p>
    <?php endif; ?>’

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    chatmさん、こんにちは。

    <?php if(is_search()): ?>

    ではなくて、

    <?php if(have_posts()): ?>

    とすると、上手くいくかと思います。
    is_searchは検索結果かどうかを判断するためのもので、検索結果の有無を判断するものではありません。
    一方、have_postsは指定条件に合致した記事の有無を判断するもので、このような場合ほか、カテゴリー、投稿、ページのテンプレートなどでも利用されており、記事が無かった場合に見つからなかった旨のメッセージを表示されるようになっています。

    トピック投稿者 chatm

    (@chatm)

    jim912さんに教えていただいた通りに修正したら、思い描いていたとおりのメッセージが表示されるようになりました!お応えいただいて本当にどうもありがとうございました!
    現在は本の通りにテーマのカスタマイズをしておりますが、これから私もphpを少しずつ勉強していき、jim912さんのように、どなたかを助けられるくらいまでに成長したいものです。がんばります。
    (返信が遅くなってすみませんでした)

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「検索結果が見つからない場合、メッセージが表示されません」には新たに返信することはできません。