WordPress
その他
運営中のサブブログ
主に私のデスク周りアイテムを紹介しています。
在宅作業の参考になるかもしれません。
運営中のサブブログ
主に私のデスク周りアイテムを紹介しています。
在宅作業の参考になるかもしれません。
当記事では、オリジナル検索フォームの作り方(HTMLコード)の解説とCSSデザインしたサンプルフォームを10個作成しました。
どれもコピペで使えます。
フォームのHTML解説が不要な方は目次を活用してください。
まずそれぞれにオリジナルのid
を付けましょう。id
を付けることで、テーマ内にもともとある他のformコードと差別化します。
※.classでも構いません。
<form id="form1" method="get" action="自分のサイトURL">
<input id="sbox1" name="s" type="text" placeholder="キーワードを入力" />
<input id="sbtn1" type="submit" value="検索" />
</form>
form1:検索フォーム全体に対するid
自分のサイトURL:https://〇〇まで。
sbox1:入力欄のid
キーワードを入力:プレースホルダーの文言
不要であればplaceholder="〇〇"
を削除してください。
sbtn1:検索ボタンのid
HTML5から入力欄のtypeはsearch
に変更されましたが、当記事ではtext
を使用しています。
最近WordPressテーマは、もともとsearchにデザインが指定されている場合もあるため、カスタマイズするにはtext
の方がやりやすいためです。
ユーザーには関係ありませんので、どちらを使用しても構いません。
<form method="get" action="https://kagesai.net">
<input name="s" type="text" placeholder="キーワードを入力">
<input type="submit" value="検索"></form>
例えば、当サイトSWELLで何も指定せず3行に分けて書くと以下のようなデザインになります。
※.テーマによって違いはありますので参考まで。
<form method="get" action="https://kagesai.net">
<input name="s" type="text" placeholder="キーワードを入力"><input type="submit" value="検索"></form>
続いて、input
同士を繋げて書くと”検索ボックス“と”検索ボタン“が連結します。
ほとんど出来上がっていますね。
そのほか細かいところを含め、SWELLは非常に優秀なテーマですので、気になる方はデモサイトを御覧ください。
前のテーマSANGOも良かったんだけど、ついにこのサイトも乗り換えてしまった…。
ここからコピペで使えるコードを載せています。
一応どのテーマでも使用できるよう0からデザインしてあります。
実際に当サイト内を検索できるようにもしていますので、挙動も合わせてお試しください。
CSS
のカスタマイズコードは、子テーマのstyle.cssに貼り付けるのがおすすめです。
<form id="form1" action="自分のサイトURL">
<input id="sbox1" name="s" type="text" placeholder="キーワードを入力" />
<input id="sbtn1" type="submit" value="検索" />
</form>
/*フォーム全体を中央へ*/
#form1{
display: flex;
justify-content: center; /*中央へ固定*/
height:50px;/*高さ*/
}
/*入力フォーム*/
#sbox1{
width:250px;/*横幅*/
padding:0 15px;/*プレースホルダーの位置調整*/
border-radius:4px 0 0 4px;/*左側の角を少し丸める*/
background:#eee;/*検背景カラー*/
border:none;/*枠線を消す*/
outline:0;/*クリック時の青い枠線消す*/
}
/*検索ボタン*/
#sbtn1{
width:70px;/*横幅*/
border-radius:0 4px 4px 0;/*右側の角を少し丸める*/
background:#7fbfff;/*背景カラー*/
border:none;/*枠線を消す*/
color:#fff;/*テキストカラー*/
font-size:16px;/*フォントサイズ指定*/
cursor: pointer;/*マウスを乗せると指差しポインターになる*/
}
/*検索ボタンマウスオーバー時*/
#sbtn1:hover {
background: #92dbff;/*背景カラー変更*/
}
入力フォーム:width:250px;
検索ボタン:width:70px;
の値を変更して下さい。
入力フォーム左側上下:border-radius:25px 0 0 25px;
検索ボタン右側上下:border-radius:0 25px 25px 0;
のように値を上げてください。
#sbox1
にmargin-right:10px;
を追加してください。
その際は、角の丸みもなくした方がキレイなので、#sbox1
,#sbtn1
ともにborder-radius:0;
を指定しましょう。
離した状態で入力フォームと検索ボタンの両方に丸みを持たせたいなら、#sbox1
、#sbtn1
ともにborder-radius:10px;
前後を指定しておくと良いでしょう。
入力欄をクリックしてみてください。
当サイトサンプルはすべて消しています。
枠線を残したい場合は、入力フォームのoutline:0;
を削除してください。
アイコンは、Font Awesomeバージョン6以降のものを使用しています。
バージョン5以前とはコードが違うので、ご注意ください。
アイコンを使用するには、以下のコードをheadタグ内に設置しましょう。
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
もしくはfunctions.phpに以下を追記してください。
function enqueue_scripts(){
wp_enqueue_style('fontawesome','https://use.fontawesome.com/releases/v6.5.1/css/all.css');
}
add_action('wp_enqueue_scripts','enqueue_scripts');
<form id="form1" action="自分のサイトURL">
<input id="sbox1" name="s" type="text" placeholder="キーワードを入力" />
<button id="sbtn2" type="submit"><i class="fa-solid fa-magnifying-glass"></i></button>
</form>
/*フォーム全体を中央へ*/
#form1{
display: flex;
justify-content: center;
height:50px;
}
/*入力フォーム*/
#sbox1{
width:250px;
padding:0 15px;
border-radius:4px 0 0 4px;
background:#eee;
border:none;
outline:0;
}
/*検索ボタン*/
#sbtn2{
width:50px;
border-radius:0 4px 4px 0;
background:#7fbfff;
border:none;
color:#fff;
font-size:18px;
cursor: pointer;
}
#sbtn2:hover{
background: #92dbff;/
}
虫眼鏡アイコンをキレイに設置するには、検索ボタンの横幅:width
と高さ:height
を揃える必要があります。
その他のコードは先ほどと同じです。
ちなみに当サイトテーマSWELL
<form id="form1" action="自分のサイトURL">
<input id="sbox2" name="s" type="text" placeholder="キーワードを入力" />
<button id="sbtn2" type="submit"><i class="fa-solid fa-magnifying-glass"></i></button>
</form>
/*フォーム全体を中央へ*/
#form1{
display: flex;
justify-content: center;
height:50px;
}
/*入力フォーム*/
#sbox2{
width:250px;
padding:0 15px;
border-radius:4px 0 0 4px;
background: transparent;/*背景カラー透明*/
border:2px solid #7fbfff;/*枠線の指定*/
border-right: none;/*枠線の右側だけ削除*/
outline:0;
}
/*検索ボタン*/
#sbtn2{
width:50px;
border-radius:0 4px 4px 0;
background:#7fbfff;
border:none;
color:#fff;
font-size:18px;
cursor: pointer;
}
#sbtn2:hover{
background: #92dbff;/
}
枠線の検索フォームを作る方法はいくつかあります。
当サイトサンプルでは、他のフォームとの兼ね合いも見て、入力フォームの”背景透明“”枠線指定“”右線削除“の3つを指定しました。
<form method="get" id="form1" action="自分のサイトURL">
<input id="sbox1" name="s" type="text" placeholder="キーワードを入力">
<button id="sbtn3" type="submit"><i class="fa-solid fa-magnifying-glass"></i></button>
</form>
/*フォーム全体を中央へ*/
#form1{
display: flex;
justify-content: center;
height:50px;
}
/*入力フォーム*/
#sbox1{
width:250px;
padding:0 15px;
border-radius:4px 0 0 4px;
background:#eee;
border:none;
outline:0;
}
/*検索ボタン*/
#sbtn3{
width:50px;
border-radius:0 4px 4px 0;
background:#eee;
border:none;
color:#666;
font-size:18px;
cursor: pointer;
}
#sbtn3:hover{
background: #7fbfff;
color:#fff;
}
入力フォームと検索ボタンの背景カラーbackground:#eee;
を同色にすると、フォームが一体化しているように見えます。
<form method="get" id="form2" action="自分のサイトURL">
<input id="sbox3" name="s" type="text" placeholder="キーワードを入力">
<button id="sbtn4" type="submit"><i class="fa-solid fa-magnifying-glass"></i></button>
</form>
/*フォーム全体*/
#form2{
display: flex;
justify-content: center;
border: solid 2px #666;
max-width: 300px;
height:50px;
margin-left: auto;
margin-right: auto;
border-radius: 4px;
}
/*入力フォーム*/
#sbox3{
width:240px ;
padding: 0 15px;
border-radius: initial;
background:transparent;
border:none;
outline:0;
}
/*検索ボタン*/
#sbtn4{
width: 50px;
background:transparent;
border-radius: initial;
border:none;
color:#666;
font-size:18px;
cursor: pointer;
}
#sbtn4:hover{
background: #7fbfff;
color:#fff;
}
枠線と虫眼鏡アイコンだけの場合は、なるべくフォーム全体側で指定してあげるとコードが少なくて済ます。
フォーム枠線のカラーborder: solid 2px #666;
虫眼鏡アイコンカラーcolor:#666;
を揃えてあげるとキレイに仕上がります。
<form method="get" id="form1" action="自分のサイトURL">
<button id="sbtn4" type="submit"><i class="fa-solid fa-magnifying-glass"></i></button>
<input id="sbox3" name="s" type="text" placeholder="キーワードを入力">
</form>
虫眼鏡アイコンを左側にするには、HTMLの<input>
と<button>
タグの順番を入れ替えます。
ただしそのままだと、プレースホルダーの余白が不格好なので、整えていきましょう。
入力フォーム#sbox3
にpadding:0;
を指定すれば、見栄えが良くなります。
<form method="get" id="form1" action="自分のサイトURL">
<button id="sbtn3" type="submit"><i class="fa-solid fa-magnifying-glass"></i></button>
<input id="sbox1" name="s" type="text" placeholder="キーワードを入力">
</form>
枠線なしの場合は、プレースホルダーの余白に加え、角丸指定を左右逆にする必要があります。
入力フォーム#sbox1
にpadding:0;
とborder-radius:0 4px 4px 0;
を指定。
検索ボタン#sbtn3
はborder-radius:4px 0 0 4px;
に変更してください。
<form method="get" id="form1" action="自分のサイトURL">
<input id="sbox1" name="s" type="text">
<button id="sbtn3" type="submit"><i class="fa-solid fa-magnifying-glass"></i></button>
</form>
HTMLは、入力フォーム+虫眼鏡アイコン一体型と同じものを使用しています。
※.プレースホルダーは設定していません。
/*フォーム全体を中央へ*/
#form1{
display: flex;
justify-content: center;
position: relative; /*位置決め*/
margin-top: 30px; /*フォームの上に余白*/
}
/*フォーム上テキスト*/
#form1::before {
position: absolute;
content: "検索フォーム";
font-size: 15px;
background: #7fbfff;
color: #fff;
width: 300px;
border-radius: 4px 4px 0 0;
text-align: center;
top: -25px;
}
/*入力フォーム*/
#sbox1{
width:250px;
height:50px;
padding:0 15px;
border-radius:0 0 0 4px;
background:#eee;
border:none;
outline:0;
}
/*検索ボタン*/
#sbtn3{
width:50px;
height:50px;
border-radius:0 0 4px 0;
background:#eee;
border:none;
color:#7fbfff;
font-size:18px;
cursor: pointer;
}
フォーム上テキストにて、フォーム上部の要素を指定しています。
横幅を調整するときは#form1::before
の幅width
#sbox1
,#sbtn3
の幅width
の合計値を合わせてください。
バージョン6.5.1以降
アイコンコード | 表示アイコン |
---|---|
<i class="fa-solid fa-magnifying-glass"></i> | |
<i class="fa-brands fa-searchengin"></i> | |
<i class="fa-solid fa-magnifying-glass-plus"></i> | |
<i class="fa-solid fa-magnifying-glass-minus"></i> | |
<i class="fa-solid fa-magnifying-glass-location"></i> | |
<i class="fa-solid fa-magnifying-glass-dollar"></i> | |
<i class="fa-solid fa-magnifying-glass-arrow-right"></i> |
2024年3月時点では、上記7つが無料で使用できます。
すべて商用利用も可能なため、お好みで使い分けでください。
Font Awesomeは、自作のSNSボタンにも使えます。
以下の記事では、合計32パターンの様々なSNSボタンを作成しました。
プロフィールやサイドバーなどに実装できます。
以上、検索フォームの作り方を解説しました。
最近のWordPressテーマは最初から実装されていますので、自分で作る機会はそんなにないかもしれません。
ただ、作り方を覚えておけば、サイト内の好きな箇所に設置できます。
個人的にヘッダーの検索フォームは必須と考えていますので、テーマに実装されていない方は試してみてください。
この記事が気に入ったら
フォローしてね!
記事への質問等はこちらからどうぞ