WordPressのプラグインのContact
Form 7というメールフォームプラグイン
を利用しているのですが、デザイン
カスタマイズのチュートリアル記事的な
ものがなかなか見つからなかったので
変更ついでに覚書します。
まずはContact Form 7インストール方法から。ご存知の方はここは飛ばしてください。
Contact Form 7のインストール
- Contact Form 7をダウンロードし、解凍
- wp-content/wp-plugins/以下にフォルダごとコピーしアップロード
- 管理画面で有効化
- 設定画面でフォーム作成
[note]ダウンロードのページに使い方も記載されていますが、ミblogさんの記事が分かりやすいです。[/note]
メールフォームのスタイリング
僕の方法は多分正しくないと思いますが参考になれば幸いです。Contact Form 7のphpファイルの変更はしていません。
STEP:1
まず、Contact Form 7の設定画面で以下のようにそれぞれの項目にclass属性を付けてあげます。
既に作成してあるのを変更する時は
[text 1=”your-name” language=”*”][/text]
を
[text 1=”your-name” 2=”class:con” language=”*”][/text]
のようにしてあげればclassが加わります。「*」は入力必須項目を指します。※都合上、tだけ大文字にしています。
class名は何でも結構です。僕は「名前」「メールアドレス」「Webサイト」「題名」の入力項目をclass:con、メッセージ本文をclass:messとしました。変更したら一旦保存します。
STEP:2
「名前」「メールアドレス」「Webサイト」「題名」にあてたclass:conをcssでスタイリングします。cssはテーマのcssに記述しました。Contact Form 7のcssに記述するとアップグレードした時に再設定しないといけなくなってしまいます。
記述内容は以下。#wpcf7-f2-p18-o1はメールフォームごとに異なりますのでご自身のメールフォームのソースをチェックしてください。
#wpcf 7 -f 2 -p 18 -o 1 .con{ height : 17px ; padding : 0 0 8px 0 ; width : 250px ; border : 0 ; font-size : 14px ; background : url (名前やWebサイト項目の背景画像のURLを指定) no-repeat ; color : #fff ; align: left ; } #wpcf 7 -f 2 -p 18 -o 1 .mess{ height : 200px ; padding : 0 0 15px 0 ; width : 400px ; border : 0 ; font-size : 14px ; background : url (メッセージ本文項目の背景画像のURLを指定) no-repeat ; color : #fff ; overflow-y : auto ; _overflow-y : hidden ; /* IEでスクロールバーを消す為に記述 */ } |
サイトに合わせて変更してください。
STEP:3
フォームの背景は画像でも良かったのですが、作るの面倒だったのでcssで噴出しを作りました。
記述は以下。
#box{ width : 450px ; background : #FBA957 ; padding : 25px ; position : relative ; } #box .arrow{ width : 0 ; height : 0 ; line-height : 0 ; border-bottom : 25px solid #FBA957 ; border-right : 50px solid white ; position : absolute ; top : -24px ; left : 20px ; } |
さらにContact Form 7の管理画面に以下のように変更を加えます。
[note]PHPSPOTさんのページの噴出しを作る為のコードは<span class=”arrow” />で終わっていますが、IEでレイアウトが崩れるかもしれない(僕は崩れました)ので<span class=”arrow”></span>としておいたほうがいいと思います。[/note]
STEP:4
送信ボタンもついでに変えます。IEだと画像が表示されず使えませんでしたのでハック(html>/**/bodyを使用)。
Contact Form 7の管理画面ではvalue=”送信”が消せなかった(設定画面で消したけどソースには残ってしまう)のでcssでスタイリングします。まず、管理画面で送信ボタンに以下のようにidを加えます。僕は[submit id:b]としました。
cssで「送信」と出てしまうテキストをtext-indentで飛ばして画像ボタンを指定します。cssの記述は以下。
html> /**/ body #b { border : 0px ; width : 100px ; height : 30px ; background : url (送信ボタンの画像のURL) left top no-repeat ; text-indent : -9999px ; /* 「送信」のテキストを飛ばす */ } |
テキストが表示されないようにするのに他にいい方法あるのかな?よく調べてません。。。
実装
こんな感じでカスタマイズ完了です。
ここまでで画像の作成時間も含めて30分前後です。ちょっとテストなので画像適当。確認したブラウザはFirefox3.5、GoogleChrome、IE6、IE7です。IEは送信ボタンに画像を使っていません。
以上、WordPressプラグインContact Form 7のメールフォームのデザインカスタマイズ方法でした。ご参考までに。
因みに、スパムメールにお悩みならAkismetを使う事も出来るようですので合わせてご参照下さいませ。