WordPress 検索フォームのカスタマイズ方法

このQ&Aのポイント
  • WordPress ウィジェットから検索フォームを設定する方法と、<label>が挿入されないようにする方法について教えてください。
  • 検索フォームのカスタマイズ方法の一つとして、<label>が挿入されないようにする方法があります。具体的には、コード内の<label>タグを削除することで「検索:」の表示をなくすことができます。
  • また、WordPress ウィジェットを使って検索フォームを設定する場合、<label>タグが自動的に挿入されます。しかし、<label>が必要ない場合は、挿入されないようにする方法もあります。
回答を見る
  • ベストアンサー

WordPress 検索フォームのカスタマイズ方法を教えてください。

WordPress 検索フォームのカスタマイズ方法を教えてください。 ウィジェットから検索フォームを設定すると<label>が挿入されますが「検索:」の表示が邪魔です。表示しないようにするにはどうしたらいいですか?もし<label>が必要ないものなら挿入されないようにしたいです。コードは以下のようになっています。 <h2>タイトル</h2> <form role="search" method="get" id="searchform" action="URL省略" > <div><label class="screen-reader-text" for="s">検索:</label> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="検索" /> </div> </form>

noname#120437
noname#120437
  • CSS
  • 回答数2
  • ありがとう数11

質問者が選んだベストアンサー

  • ベストアンサー
  • outbrave
  • ベストアンサー率60% (231/380)
回答No.2

visibility:hidden;で非表示にしてもレイアウトは変化無しなので、display:none;を使うか 2010ですと、次のようになっていますので参考に .screen-reader-text { position: absolute; left: -9000px; } <label>が挿入されないようにするのは、私も考えたことがないので不確かですが Grepの付いたエディタなどで、そのタグを検索して削除することになると思います ただ、そのタグがテーマにあるのか、WordPress本体にあるのかは知りません。 プラグインが不具合に関係する場合は多々あります、ただウィジェットに関連するプラグインを使われているかはわかりませんので。 ANO.1の参考URLで質問されると詳しい返答が期待できると思います。

noname#120437
質問者

お礼

ご回答ありがとうございます。 たいへん参考になりました。

その他の回答 (1)

  • outbrave
  • ベストアンサー率60% (231/380)
回答No.1

テーマ2010では、そのようなソースがありますが、cssで制御されているので、「検索:」は表示されません。 使用されているテーマのstyle.cssで、screen-reader-textを表示しないようにするのが良いと思います。 質問の際は、Wordpressのバージョンや使用しているテーマとテーマのバージョンの明記、確認したブラウザ名 また、プラグインを全て停止して試したか、特異なサーバーを使用していないかなどの情報が大切です。 ここで解決できなければ、参考URLの方が詳しい情報があると思います。

参考URL:
http://ja.wordpress.org/
noname#120437
質問者

お礼

ご回答ありがとうございます。 なにか他に良い解決方法があれば引き続きお願いします。

noname#120437
質問者

補足

CSSで以下のように指定してみました。 .screen-reader-text { visibility: hidden; } 「検索:」は表示されなくなりましたが、スペースがそのまま開いています。marginやpaddingを0にしても同じです。もし問題なければ<label>が挿入されないようにしたいです。 使用テーマは自作でバージョンは3.01です。WordPressを使い始めたのは3.0以降ですが、テーマは「WordPressレッスンブック 2.8対応」という初心者向けの書籍を参考して作りました。 ウィジェットを使用できるようにする方法は、本に書かれてなかったのでネットで調べて使えるように設定しました。特別な設定や変更は行っていません。 確認したブラウザはIE8で、サーバはロリポップでオリジナルドメインを使用しています。 「プラグインを全て停止して試したか」とありますが、質問の件と関係あるのでしょうか?最近使い始めたので、まだあまり理解していません。 数年前からHTMLとCSSでホームページを作っていますが、PHPは本を少し読んだことがある程度の知識しかありません。

関連するQ&A

  • ワードプレスでの検索フォームの設置について

    お世話になっております。 表題の件でご質問がございます。 色々とネットで検索しながら ワードプレスのウィジェットを使用せずに コードを書いて検索フォームを作っております。 ●現在のコード <form role="search" method="get" id="searchform" action="http://xxxxxxxxxxx.jp/" >  <div id="search"><label class="screen-reader-text" for="s"></label> <input type="text" value="検索" name="s" id="s" /> <input type="submit" id="searchsubmit" value="検索" />  </div> </form> 上記コードで一応 検索フォーム自体は作ることが出来たのですが ●現在起きている問題 <blockquote>`<input type="text" value="検索" name="s" id="s" />`</blockquote> 検索の入力フォーム内に「検索」という言葉を入れておきたいのですが 入力フォームをクリックすると「検索」という言葉自体をbackspaceやdeleteでいちいち消す必要がある状態です。 ●実装したい内容 こちらを入力フォームをクリックした時に文字が消える仕様にしたいのですが どのような記述をすればよいのでしょうか? ご教示頂ければ幸甚に存じます。

    • ベストアンサー
    • HTML
  • 検索フォームで大変困ってます

    今select boxを用意したマルチな検索フォームを作ってます。 現在困ってる内容は検索した後に、文字化けを起こしてしまいます。 色々調べてみたのですが原因がわからず困っております。 どなたか分かるかたがいらっしゃいましたら教えて頂きたく思います。 また間違ってる箇所の指摘と出来れば解答も頂ければ助かります。 よろしくお願いします。 <script type="text/javascript" charset="ja"> function dosearch() { var sf=document.searchform; var submitto = sf.sengines.options[sf.sengines.selectedIndex].value + escape(sf.searchterms.value); window.location.href = submitto; return false; } </script> <div class="search"> <form name="searchform" onSubmit="return dosearch();"> <input type="text" name="searchterms"> <input type="image" alt="検索" width=30 height=30 src="Search.png" style="vertical-align:-10px;> </form> </div> <div class="select"> <form name="searchform" onSubmit="return dosearch();"> <select name="sengines"> <option value="http://www.google.com/search?q=" selected>Google</option> <option value="http://search.yahoo.co.jp/search?p=">Yahoo</option> <option value="http://www.bing.com/search?q=">Bing</option></select> </form> </div>

    • ベストアンサー
    • HTML
  • wordpress 検索フォームと結果を同ページで

    wordpressで検索フォームと検索結果を作成しています。 検索フォームは <form action="<?php echo home_url(); ?>" method="get"> <dl> <dt> お部屋のタイプ</dt> <dd> <?php wp_dropdown_categories(array( 'show_option_all' => '全てのタイプ' )); ?></dd> <dt> こだわり検索</dt> <dd> <?php $terms = get_terms('good'); foreach ($terms as $term): ?> <label> <input type="radio" name="good" value="<?php echo esc_attr($term->slug); ?>"> <?php echo esc_html($term->name); ?></label> <?php endforeach; ?> </select> </dd> <dt> キーワード</dt> <dd> <input type="text" value="" name="s" /> </dd> </dl> <input type="submit" value="この内容で検索!" /> </form> としています。 検索結果は「search.php」を作り <div id="wrapper"> <h4 class="h4_search">★検索結果</h4> <div id="content"> <section> <?php if (is_search()) : ?> <?php endif; ?> <?php if (have_posts()) :?> <div class="postWrap"> <?php while (have_posts()) : the_post(); ?> <article id="post-<?php the_ID(); ?>"> <div class="search"> <header> <h5><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><span><?php the_title(); ?></span></a></h5> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail(); ?></a> <?php echo mb_substr(get_the_excerpt(),0, 50);?> <a href="<?php the_permalink();?>">&emsp;…&nbsp;続きを読む</a> </header> </div> <?php endwhile; ?> </div> <?php endif; ?> としています。 このままでは、検索フォームのあるページから別のページ(search.php)に飛んで検索結果が出ます。 ここで、検索結果を検索フォームのあるページ内で表示したいと思っております。 検索フォームに入力し、submitボタンを押すと、そのすぐ下に検索結果がずらりと表示できるようにしたいです。 このようなことは可能でしょうか? できればプラグインを使わずに実現したいので、コードを教えていただければ有難いです。 何卒よろしくお願いします。

    • ベストアンサー
    • PHP
  • 検索フォーム css 楽天

    いつもお世話になっています。 web初心者です、よろしくお願い致します。ネットで検索しても方法がどうしてもわからないので質問させていただきます。 shopは一応もうopenしているのですが、楽天のshopを現在作っています。 そこで商品検索フォームをネットで見つけたfreeのcssのモノ(http://www.css-lecture.com/log/css/052.html)に変え、楽天の既存のフォームと比べながら足したりとしたのですが、検索がうまくされません。(検索キーワードが空欄です。キーワードを入力して検索してください。となってしまいます) ソースは以下です。 <form name="searchform4" id="searchform4" method="get" action="http://esearch.rakuten.co.jp/rms/sd/esearch/vc" target="_parent" > <input value="6" type="hidden" name="sv"><input value="252003" type="hidden" name="sid"> <input value="shop name" type="hidden" name="su"> <input value="ショップ名" type="hidden" name="sn"> <input value="A" type="hidden" name="f"> <input name="keywords4" id="keywords4" value="" type="text" /> <input type="image" src="images/btn4.gif" alt="検索" name="searchBtn4" id="searchBtn4" /> </form> 全くどうしたらよいのかわかりません、、。お手を貸して下さい、よろしくお願い致します。

  • フォームでのタグについて

    検索フォームに IDを入力して ブログを表示するようなURLでリンクしたいと考えています。 <form method="get" action="http://blog.goo.ne.jp/" class="search" target="_blank"> <div> <input type="text" name="ID" class="textBox"><input type="hidden" value="/"> <input type="submit" value="検索" class="btn"> </div> </form> 上のようなhtmlタグを作りましたが うまく http://blog.goo.ne.jp/synchro-night/ http://blog.goo.ne.jp/(IDをフォームで入力)/ のようなリンクができません。 どのように変えればよいのでしょうか? JavaScriptで する必要があるのでしょうか?

    • ベストアンサー
    • HTML
  • 簡単な検索エンジンの作り方

    <form id="form1" name="form1" method="post" action="lab.php"> <label for="textfield">しょうゆ検索エンジン<br /> </label> <input type="text" name="lab" value=""/> <input type="submit" name="button" id="button" value="検索" /> </form><br> <form id="form1" name="form1" method="post" action="lab.php"> <label for="textfield">成分エンジン<br /> </label> <input type="text" name="lab" value="" /> <input type="submit" name="button" id="button" value="検索" /> </form> このようなフォーム内に、例えば醤油検索エンジンに「キッコーマン 山さ」と入力したらsyouカラムから該当するデータを取り出し表示するにはどうしたら良いでしょうか? フォームに「キッコーマン 山さ ヤマキ」 と入力したら ※3件あります 醤油:キッコーマン 成分:大豆、油 醤油:山さ 成分:大豆、塩 醤油:ヤマキ 成分:醤油 と表示したいです。簡単だろうと考えては見た物の、残念ながら解決に至らず質問した次第であります。よろしく願います。 あと、莫大な量を登録したいのでnum_rowsなどで syounum=array("キッコーマン","山さ","ヤマキ") 等とphpに記述するのは避けたいです。よろしく願います。

    • ベストアンサー
    • PHP
  • ブログ内検索を複数ブログ対応にしたい。

    1アカウントで複数ブログを構築できるseesaaブログを利用しているのですが、 そこについている検索フォームを複数ブログ対応にしたいのです。検索フォーム の横にプルダウンが付いている感じです。 プルダウンのリストごとにフォームの飛び先とblog_idを入れ替えるように するにはどうしたらいいのでしょうか。よろしくお願いいたします。 ちなみにJavaScriptは外だしで設置しています。 <form action="http://hoge.seesaa.net/pages/user/search/"> <div class="sidetitle">記事検索</div> <div class="side">検索語句<br /> <input value="" name="keyword" type="text" size="20" /> <input value="11111" name="blog_id" type="hidden" /> <input value="検索" type="submit" class="input-submit" /> </div> </form>

  • フォームのレイアウト

    以下のようなフォームを作成しましたが、検索ボタンの下が妙に余っているのです。 これを上側と同じようにくっつけたいのですが、どうしたらよいでしょうか? よろしくお願いします。  <table border="1" width="200" border="0" cellspacing="0" cellpadding="2"> <tr><td> <div align="center" valign="middle"> <form method="get" action="url" target="_blank"> <input name="sitem" type="text" id="inputbox" size="20"><BR> <input name="Submit" type="submit" id="inputsubm" value="検索"> <input type="hidden" name="sv" value="6"> <input type="hidden" name="sid" value="12345"> <input type="hidden" name="su" value="bbb"> <input type="hidden" name="sn" value="aaa"> <input type="hidden" name="v" value="3"> </form></div> </td></tr></table>

    • ベストアンサー
    • HTML
  • フォームの送信が働かない

    <form action="mailto:******@hotmail.com" method="post" enctype="multipart/form-data"> <p> <label for="nm">お名前:</label> <input type="text" name="namae" id="nm"><br> <label for="ma">メール:</label> <input type="text" name="email" id="ma"> </p> <p> <input type="radio" name="sex" value="male" id="sm"> <label for="sm">男性</label>  <input type="radio" name="sex" value="female" id="sf"> <label for="sf">女性</label> </p> <p> <input type="submit" value="送信"> <input type="reset" value="リセット"> </p> </form> で内容を送信しても働かないのですがなぜなのかわかりません。(mailアドレスは実在の物を入れてためしています。) それともしよければCGIの時に <form action="/cgi-bin/formmail.cgi" method="post">というのがどのように使うのか教えて下さい。 これはこのままサーバーにいれたらいいのですか? それとも契約をしないといけないとか設定をしないといけないとかあるのでしょうか? 複雑であれば何か調べられる情報を教えて下さい。 お時間のある方是非教えて下さい。

  • ブログフォームが表示されない!

    いつも大変お世話になり誠にありがとうございます。 標記の件。 下記ソースコードで名前がform.phpです。 ブログフォームが表示されません。 どうすれば表示されるでしょうか? ご回答のほど宜しくお願い申し上げます。 <body> <div class="v_line_fix"> <h1>Blog K・T</h1> <h2><a href="index.html">トップページ</a></h2> <h2>ブログフォーム</h2> <form action="blog_create.php" method=_POST> <p> ペンネーム: <input type="text" name="name" value=""></p> <p> タイトル: <input type="text" name="name" value=""></p> <p> カテゴリー: <input type="text" name="name" value=""></p> <p>ブログ本文: <textarea name="content" id="content" cols="50" rows="80"></textarea><br> <input type="submit" value="確認画面へ"> </form> </body>

    • ベストアンサー
    • PHP

専門家に質問してみよう