WooCommerce のカスタマイズ備忘録

Pocket

先日、こちらのサイトをオープンしました。

こちら、決済として Stripe を採用し、チケットではあるが「紙」を発行するわけではなく送付する必要がないため
「送付先」的なものを必要としないので「住所入力」が不要というものであった。

そこで、なにをしたか・・・・

これを残しておこうと思う。
(いろいろ忘れてますが・・・)

住所を入れないようにするカスタマイズ

住所の欄だけcssで消せば良い?
そうじゃないんです。

必須項目なんですよ〜。

そこでどうしたか・・・・

住所を外しました

こんなコードをテーマの functions.php に記載しました。

使用テーマ: Snow Monkey(子テーマを作り利用)


/**
* 項目削除
*/
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
// unset($fields['billing']['billing_postcode']); // 統計のため郵便番号は必要だったので unset しません
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_phone']);
// unset($fields['order']['order_comments']); // 注文コメント欄は表示
unset($fields['billing']['billing_address_2']);

unset($fields['billing']['billing_company']);
// unset($fields['billing']['billing_last_name']); // 苗字表示
// unset($fields['billing']['billing_email']); // メール表示
unset($fields['billing']['billing_city']);
return $fields;
}

/**
* 住所必須解除
* 必須を解除しないとエラーメッセージが出てしまう
*/
add_filter( 'woocommerce_default_address_fields', 'do_filter_default_address_fields' );
function do_filter_default_address_fields( $fields ) {
if ( method_exists( WC()->cart, 'needs_shipping' ) && ! WC()->cart->needs_shipping() ) {
// $not_required_fields = array( 'address_1', 'city', 'postcode', 'country', 'phone' );
$not_required_fields = array( 'address_1', 'city', 'country' );
foreach ( $not_required_fields as $not_required_field ) {
if ( array_key_exists( $not_required_field, $fields ) ) {
$fields[ $not_required_field ]['required'] = false;
}
}
}

// Regardless of shipping, PP doesn't have the county required (e.g. using Ireland without a county is acceptable)
if ( array_key_exists( 'state', $fields ) ) {
$fields['state']['required'] = false;
}
if ( array_key_exists( 'billing_phone', $fields ) ) {
$fields['billing_phone']['required'] = false;
}

return $fields;

}

WooCommerce いろいろできて使い勝手よさそう!

Stripe の導入

WooCommerce へ Stripe の導入は簡単!

これをポン!とインストールしました。

また、日本語対応もいろいろあるので、こちらも併せて利用しました。

助かります!

WooCommerce のメリット

課金だけならなんとでもなるのですが
カートシステムを利用したのは、「そのメリット」を授かりたいから。

  • 会員システムが標準 → メルマガ送りやすい
  • セミナーが商品となるので、アイテム登録により履歴が残る
  • 併せて商品購入者で検索すると該当セミナー参加者がひと目でわかる
  • その上で「このセミナーに参加した人」にお知らせを送ることが可能 ※同系統のセミナーのお知らせが出来る!

などなど・・・

WooCommerce は商品管理も秀逸なので大変重宝しました。
オプションを選択出来るようにする追加機能プラグインもありまして・・・

これでなんとかなってしまった!
すばらしい機能追加ありがとうございます。

今後、ECサイトの構築は WooCommerce に頼りそうです。