WooCommerce 支払い方法 追加(その2)

WooCommerce 支払い方法 追加(その2)

さて、「WooCommerce 支払い方法 追加(その1)」の続編です。
前回のプラグイン構造では複数の支払い方法追加がある場合は、支払い方法 毎にプラグインを作成、有効化していかないといけませんでした。
かなり非効率ですし、プラグイン数が多くなるのは好きじゃないので、今回はその部分の改良版のメモとなります。
前回作成した支払い方法追加のクラスはほぼそのまま使えます。

構造は以下のようなイメージになります。

20151127-pict01

woocommerce-higa-pack(フォルダ)
-woocommerce-higa-pack.php
-i18n(フォルダ)
–languages(フォルダ)
-includes(フォルダ)
–class-wc-dependencies.php
–gateways(フォルダ)
—class-wc-gateway-basic-bank-transfer.php
—class-wc-gateway-store.php

ファイル構造はWooCommerce本体を参考にしました。
いくつかのコードをメモ…

20151127-pict02

プラグインメインファイル
woocommerce-higa-pack.php

● 依存関係に対応

WooCommerceの拡張プラグイン 「woocommerce-gateway-amazon-payments-advanced」よりclass-wc-dependencies.phpを丸ごともってきました。
このプラグインはWooCommerceが無いと意味がないプラグインです。上記ファイルを利用する事でWooCommerceの有無をチェック出来ます。

function is_woocommerce_active() {
…
}

※ 無い場合は注意文章を管理画面内に表示
function wc_higa_pack_notice() {
…
}

● 複数支払い方法を追加

メインのプラグインファイルから支払い方法追加の部分を切り離して保存することで複数の支払い方法クラスを読み込みします。

private function _includes() {
include_once( plugin_dir_path( __FILE__ ) . ‘includes/gateways/class-wc-gateway-store.php’ );
include_once( plugin_dir_path( __FILE__ ) . ‘includes/gateways/class-wc-gateway-basic-bank-transfer.php’ );
}

各支払い方法のクラスファイル

切り離した支払い方法のクラスファイルは前回のものに少し手を加えるだけで流用出来ました。

1. アクションフックの削除とその関数を外す

削除
add_action( ‘plugins_loaded’, ‘your_payment_function);

関数からクラス部分を取り出して残す
class WC_Gateway_Basic_Bank_Transfer_Higa_Pack extends WC_Payment_Gateway {
…
}

2. 言語ファイル 指定部分はプラグインメインファイルで指定しているので削除

という感じです。
少し説明が難しく、長くなりましたが、とりあえず支払い方法追加の検証は終了…
どうにかなりそうです。

コードについて、間違っているところや別の方法などがあるという方は、ぜひコメントいただければと思います。

PS:今回でオブジェクト指向の勉強が必要と感じました。 汗… 再勉強中!!!

関連記事

  1. WordPress3.2でPHP4、MySQL4はサポート外!!

  2. WordPressの動画サイト

  3. Firefox 4

  4. Live Commerceを設置する…【一時終了】

  5. 国産ECサイトオープンソース エレコマ

  6. WordPressをスマートフォンで見る

最近の記事

  1. NFCカード
  2. vcard形式 qrコード
  3. FileMakerとTwilio連携がSMS配信を劇的に変える理由
  4. FileMaker QRコード
  5. phantom4pro
  6. 2017.06.07

    iPad Pro 新型
  7. wwdc2017

カテゴリー


  1. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    @美浜から

  2. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    Appleのように「デザインのある会社!」

  3. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    Books

  4. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    DX戦略

  5. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    EC-CUBE

  6. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    googleのように「オープンに働ける会社!」

  7. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    IDEOのように「発想する会社!」

  8. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    Server

  9. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    Swift

  10. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    Wordpressを使いこなせ!【developer編】

  11. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    アップル

  12. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    ウェブサイト

  13. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    オープンソース

  14. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    パタゴニアのように「環境を考える会社!」

  15. Warning: Trying to access array offset on false in /var/www/vhosts/ddwnet.com/httpdocs/ddwnet/wp-content/themes/source_tcd045/widget/category_list.php on line 60
    ファイルメーカー