WPの検索窓がうまく機能しません。

<form role="search" method="get" id="searchform" action="<?php bloginfo('url'); ?>/" >
と記述しておりますが、キーワードを入力すると、トップページに戻って何もおこりません。解決方法を教えてください。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/09/27 05:25:04

回答1件)

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

使い方を根本から間違っている気がするので整理します。

(1)検索窓をつける

<?php get_search_form(); ?>

(2)検索窓を独自にデザインする
検索窓で独自のデザインを利用したい場合は、
テーマフォルダに searchform.php を下記のような具合に作る。

<form action="/" method="get">
    <fieldset>
        <label for="search">Search in <?php bloginfo( 'name' ); ?></label>
        <input type="text" name="s" id="search" value="<?php the_search_query(); ?>" />
        <input type="image" alt="Search" src="<?php bloginfo( 'template_url' ); ?>/images/search.png" />
    </fieldset>
</form>

ドキュメントも要確認
http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_search_form

  • id:rouge_2008
    検索結果の表示には「search.php」が使用されますが、利用中のテーマのフォルダ内にこのテンプレートファイルがありますか?
    ない場合はデフォルトのテーマの「search.php」を真似して作成してみてください。
    Twenty ThirteenでもTwenty Twelveでもどれでも大丈夫です。

    ※次のように記事表示部分で別のテンプレートファイルを読み込んでいますので、「content.php」も参考にしてください。

    <?php get_template_part( 'content', get_post_format() ); ?>

    ※「content.php」は複数のページで利用しているのテンプレートファイル(※記事表示用)ですが、何も条件を指定されていない箇所や「if ( is_search() )」で囲まれた箇所が検索結果の表示で適用されるコードです。(条件を指定されていない箇所は、このテンプレートを利用するすべてのページの表示で利用されます。)
    ※WordPressの条件分岐タグについて詳しくはドキュメントを参考にしてください。

    ・条件分岐タグ
    http://wpdocs.sourceforge.jp/Conditional_Tags

    ※「index.php」に条件分岐を追加して検索結果用のコードを追加しても大丈夫です。
  • id:rouge_2008
    Twenty Elevenについてですが、テンプレートファイルの解説記事がありますので、参考に確認しておくといいかもしれません。

    ・WordPressのTwenty Elevenテーマ解説:content.php(その1)
    http://www.koikikukan.com/archives/2011/10/14-015555.php

    ・WordPressのTwenty Elevenテーマ解説:content.php(その2
    http://www.koikikukan.com/archives/2011/10/15-025555.php

    ※「content.php」以外のテンプレートファイルの解説もありますから、関連記事のリンクから確認してみてください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません