
ネット注文時のフリガナ、FAXって買う側には面倒で、ほとんどのネットショップで使用しない項目・・・要らないですよね!
フリガナ要りますか??
ショップ運営をしていると、EFO(エントリーフォーム最適化)について考えることがあるのではないでしょうか。EFO(エントリーフォーム最適化)とは、いわゆるカゴ落ち対策で、私もプレゼントワインショップを開設して落ち着いてきたころ、もっと買いやすいカートのフォームのほうがいいなと思ったことがありました。
その中で、考えたことの1つ。自分で買い物をするときにも任意なら、入力を省くFAX。なぜか必須のことも多いフリガナ・・・実際に自分が運営者になると、これらの情報ってほとんど使いません。FAXに至ってはゼロに限りなく近いはずですし、フリガナは緊急の用件で電話するときに読み方が分からない場合に助かるくらい。こんな状況ならフリガナがなくて名前を間違えても、お客様も怒ったりはしません。
思い切って項目を削除する!
プレゼントワインショップはshopformerというショッピングカートのphp(現在配布休止)を組み込んでいるのですが、入力ページでこれらを削除すると、会員情報などとの連携がうまくいかず断念しました。
生まれ年ワインショップでは、フリガナもFAXも入力項目そのものを削除してしまいたいです。Welcartではどうだろうと思っていると、とっても分かりやすくカスタマイズを紹介してくださっているサイトさんを見つけました!!その名も・・・
『Welcart カスタマイズ ブログ』さん!!
http://welcustom.net/
そのままですね(笑)。でも、この“そのまま”ってとっても大事だと思っています。私のショップも『プレゼントワインショップ』と『生まれ年ワインショップ』ですから!
さて、『Welcart カスタマイズ ブログ』さんの
A.「お客様情報のふりがな入力フィールドを簡単に非表示にする方法」
B.「お客様情報のFAX入力フィールドをフックで非表示にする方法」
の2つの記事を読むと、Bの記事の最後のほうに、
もしフリガナの入力フィールドを非表示にするのであれば、入力フィールドを非表示にするためのフックは使わず、直接このコードからフリガナ入力部分を取り除く方法でも可能です。
という記載があります。そもそもFAX番号はフリガナ以上に使うことはないと思うので、最初からこっちのカスタマイズをしたほうが良さそうです。
実際にカスタマイズしてみる!
では、早速
Bの「お客様情報のFAX入力フィールドをフックで非表示にする方法」
を参考にカスタマイズしてみましょう(実際に作業をしたのはショップ開設時の半年前なので、うろ覚えの部分もありますが)。
苦労したけど成功!
Bの記事中にあるコードを全部コピーして、子テーマ中のfunction.phpに貼り付けます。ちなみに、このブログの過去記事には、何も言わずに書いたことがありますが、今回の記事以降は、WordPressのフィルターフックを使っていくことが増えます。
実は、私は最初の記事「Welcart奮闘記」で書いたように、プログラム関係はほぼ知識ゼロなので、このフィルターフックの書き方がイマイチ分かりません。Welcartの公式サイトないでも「Welcart のカスタマイズとフック」という記事で、フィルターフックの重要性と、どうやって引っ掛けるなどと説明をしてくださっているのですが、重要性は分かるものの書き方が分かりません。
そして、フィルターフックの記述が間違っていると、エラーが出たりしてサイトが動かなくなることもあります。皆さんも、function.phpは1つ前に戻れるようにコピーしておきましょう!
さて、話を戻してBの記事中のコードを全部コピーして、フリガナに関する部分を削除して、function.phpに貼り付けてファイルを更新してみると・・・
いきなり動かない!?
めっちゃ困ります!調べるしかないので、フィルターフックはなんぞやと再度調べ直し、コピーして貼り付けるだけと書いてある『Welcart カスタマイズ ブログ』さんの記事を再度読み・・・分かりません(>_<)
コードとにらめっこしていると・・・ん?削除する開始と終了を間違えているだけかも?B記事中のコードから削除するのは、次の部分です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$furigana = '<tr class="inp1"> <th scope="row">' . usces_get_essential_mark('name3', $data).__('furigana', 'usces').'</th>'; if( $nameform ){ $furigana .= '<td>'.__('Given name', 'usces').'<input name="' . $type . '[name4]" id="name4" type="text" value="' . esc_attr($values['name4']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" /></td>'; $furigana .= '<td>'.__('Familly name', 'usces').'<input name="' . $type . '[name3]" id="name3" type="text" value="' . esc_attr($values['name3']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" /></td>'; }else{ $furigana .= '<td>'.__('Familly name', 'usces').'<input name="' . $type . '[name3]" id="name3" type="text" value="' . esc_attr($values['name3']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" /></td>'; $furigana .= '<td>'.__('Given name', 'usces').'<input name="' . $type . '[name4]" id="name4" type="text" value="' . esc_attr($values['name4']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" /></td>'; } $furigana .= '</tr>'; $formtag .= apply_filters( 'usces_filter_furigana_form', $furigana, $type, $values ); $formtag .= usces_custom_field_input($data, $type, 'name_after', 'return'); |
この部分を削除して、再度公開してみると・・・やりました!動いています^^これで、フリガナとFAX番号の入力部分がなくなりました♪
実際のコードを公開しておきます
おそらく、上の部分を削除しているだけで動くと思うのですが(もしかしたら、他にも何かしたかな・・・)、function.phpに書いてあるコードをそのまま公開しておきますね。もし、これで動かなかったら、他にもどこか変えているところがあるのかもしれません。ちょっと覚えていません(^^ゞ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
/*お客様情報のフリガナ、FAX、削除*/ add_filter('usces_filter_apply_addressform', 'my_apply_addressform', 10, 3); function my_apply_addressform($formtag, $type, $data){ global $usces, $usces_settings; $options = get_option('usces'); $form = $options['system']['addressform']; $nameform = $usces_settings['nameform'][$form]; $values = $data[$type]; $applyform = usces_get_apply_addressform($form); $formtag = usces_custom_field_input($data, $type, 'name_pre', 'return'); $formtag .= '<tr class="inp1"> <th width="127" scope="row">' . usces_get_essential_mark('name1', $data) . __('Full name', 'usces').'</th>'; if( $nameform ){ $formtag .= '<td class="name_td">'.__('Given name', 'usces').'<input name="' . $type . '[name2]" id="name2" type="text" value="' . esc_attr($values['name2']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" /></td>'; $formtag .= '<td class="name_td">'.__('Familly name', 'usces').'<input name="' . $type . '[name1]" id="name1" type="text" value="' . esc_attr($values['name1']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" /></td>'; }else{ $formtag .= '<td class="name_td">'.__('Familly name', 'usces').'<input name="' . $type . '[name1]" id="name1" type="text" value="' . esc_attr($values['name1']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" /></td>'; $formtag .= '<td class="name_td">'.__('Given name', 'usces').'<input name="' . $type . '[name2]" id="name2" type="text" value="' . esc_attr($values['name2']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" /></td>'; } $formtag .= '</tr>'; $formtag .= '<tr> <th scope="row">' . usces_get_essential_mark('zipcode', $data).__('Zip/Postal Code', 'usces').'</th> <td colspan="2"><input name="' . $type . '[zipcode]" id="zipcode" type="text" value="' . esc_attr($values['zipcode']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: inactive" />'.apply_filters('usces_filter_addressform_zipcode', NULL, $type) . apply_filters( 'usces_filter_after_zipcode', '100-1000', $applyform ) . '</td> </tr>'; if( count( $options['system']['target_market'] ) == 1 ){ $formtag .= '<input type="hidden" name="' .$type. '[country]" id="' .$type. '_country" value="' .$options['system']['target_market'][0]. '">'; }else{ $formtag .= '<tr> <th scope="row">' . usces_get_essential_mark('country', $data) . __('Country', 'usces') . '</th> <td colspan="2">' . uesces_get_target_market_form( $type, $values['country'] ) . apply_filters( 'usces_filter_after_country', NULL, $applyform ) . '</td> </tr>'; } $formtag .= '<tr> <th scope="row">' . usces_get_essential_mark('states', $data).__('Province', 'usces').'</th> <td colspan="2">' . usces_pref_select( $type, $values ) . apply_filters( 'usces_filter_after_states', NULL, $applyform ) . '</td> </tr> <tr class="inp2"> <th scope="row">' . usces_get_essential_mark('address1', $data).__('city', 'usces').'</th> <td colspan="2"><input name="' . $type . '[address1]" id="address1" type="text" value="' . esc_attr($values['address1']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" />' . apply_filters( 'usces_filter_after_address1', __('Kitakami Yokohama', 'usces'), $applyform ) . '</td> </tr> <tr> <th scope="row">' . usces_get_essential_mark('address2', $data).__('numbers', 'usces').'</th> <td colspan="2"><input name="' . $type . '[address2]" id="address2" type="text" value="' . esc_attr($values['address2']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" />' . apply_filters( 'usces_filter_after_address2', '3-24-555', $applyform ) . '</td> </tr> <tr> <th scope="row">' . usces_get_essential_mark('address3', $data).__('building name', 'usces').'</th> <td colspan="2"><input name="' . $type . '[address3]" id="address3" type="text" value="' . esc_attr($values['address3']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: active" />' . apply_filters( 'usces_filter_after_address3', __('tuhanbuild 4F', 'usces'), $applyform ) . '</td> </tr> <tr> <th scope="row">' . usces_get_essential_mark('tel', $data).__('Phone number', 'usces').'</th> <td colspan="2"><input name="' . $type . '[tel]" id="tel" type="text" value="' . esc_attr($values['tel']) . '" onKeyDown="if (event.keyCode == 13) {return false;}" style="ime-mode: inactive" />' . apply_filters( 'usces_filter_after_tel', '1000-10-1000', $applyform ) . '</td> </tr>'; return $formtag; } /*お客様情報のフリガナ、FAX、削除(終了)*/ |
以上です。皆さんもコピーしてやってみてください^^
お願い
検索でここにたどり着いた方は、自営業者さんでWelcartを導入しようと思っている方だと思います。役に立った方は、ビジネスでの贈り物に当店「生まれ年ワインショップ」もしくは、日本初のプレゼント専門ワインショップ「プレゼントワインショップ」をご利用いただけると嬉しいですm(__)m
コメント