サポート » テーマ » 検索フォームのカスタマイズ

  • 解決済 amiko

    (@amiko)


    検索フォームのインプットボタンに「検索」と書かれてるんですが
    これを例えば「search」などという違う文字に変える場合
    どのファイルをいじればよいのでしょうか?

    <label class=”screen-reader-text” for=”s”>検索:</label>
    <input type=”text” value=”” name=”s” id=”s” />
    <input type=”submit” id=”searchsubmit” value=”検索” />

    となってるのを、検索:という文字を削除し、インプットボタンの文字を変更
    したいのです。
    使用しているテーマはこちらになります。

    宜しくお願い致します。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • searchform.php に

    <form role="search" method="get" id="searchform" action="<?php bloginfo('url') ?>" >
      <div>
      <input type="text" value="" name="s" id="s" />
      <input type="submit" id="searchsubmit" value="search" />
      </div>
    </form>

    kzさんのは、一般的な(古来からの)テーマ用です。
    amikoさんがお使いの「Natural Essence」の場合は、特定のファイルから出力されているわけではありません。具体的にはウィジェット(dynamic_sidebar)を使っています。

    変更方法は、[ダッシュボード]→[外観・ウィジェット]にある、[検索ウィジェット]のタイトルを変更します(わかりにくい表現ですが)

    #本来は「poファイルで」といきたいところですが、そこまで求めていないと思いますのでこのぐらいで。

    kzさん
    このテーマにはsearchform.phpは使われていないのです、すみません。
    違うテーマを使用の時に参考にさせて頂きます。ありがとうございます。

    kurosquareさん
    その検索ウィジェットのタイトルは未記入にしてるんです。
    タイトルに入れた場合は

    検索
    <label class=”screen-reader-text” for=”s”>検索:</label>
    <input type=”text” value=”” name=”s” id=”s” />
    <input type=”submit” id=”searchsubmit” value=”検索” />

    のように表示されてしまいます。

    <input type=”text” value=”” name=”s” id=”s” />
    <input type=”submit” id=”searchsubmit” value=”search” />

    のように表示させたいのです。

    その検索ウィジェットのタイトルは未記入にしてるんです。

    中途半端な回答ですみませんでした。この方法ではタイトルだけしか変更できませんでした。

    検索ウィジェットが表示する際に取り込んでいるテンプレートは、wp-includes/general-template.phpの125行目と127行目です。
    <label class="screen-reader-text" for="s">' . __('Search for:') . '</label>
    と、
    <input type="submit" id="searchsubmit" value="'. esc_attr__('Search') .'" />
    において、「__(‘Search for:’)」および「esc_attr__(‘Search’)」という部分を、言語ファイルリソース(poファイル)に置き換えて表示しています。

    これを変更するには、poファイルを変更するか、コア部分を書き換える必要があります。
    この部分を書き換えるのであれば、単に
    <label class="screen-reader-text" for="s">Search for:</label>

    <input type="submit" id="searchsubmit" value="Search" />
    とすればよいです。
    ただしこの方法では、WP本体のアップデートを行うと元に戻ってしまいます。

    またpoファイルを編集してもいいのですが、「Search」という単語は頻繁に使われているはずなので、他の「検索」という部分も全て「Search」に置き換わるはずです。

    最も簡単なのは、ウィジェットを使わず、テンプレートに直接書いてしまう方法です。これならコア部分を書き換える必要もありません。

    kurosquareさん
    なるほど!頭が凝り固まってて全く思いつきませんでした!

    アップデートの度にファイルを書き換えるというのも面倒ですので
    直接テンプレートに書く方法で試してみて成功しました!
    詳しい解説ありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「検索フォームのカスタマイズ」には新たに返信することはできません。