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:今回でオブジェクト指向の勉強が必要と感じました。 汗… 再勉強中!!!

WordPressの難しさ

Seiyaです。
Wordpressの使い方を勉強中なのですが、あんまり触った事のないと言う事と表面の部分しかわからなかった事もあり現在苦戦中です。

WordPressには元からこの時はこのファイルを読み込み 出来ない場合はこう記述するとこっち側のファイルが読み込まれるとがあるらしく、使い方が全然わからなかったのですが社員の方にわからなくなったら助けてもらって現在覚えてきてる段階です。

メモ

Index トップ
Archive 記事一覧
Single 記事詳細
Content パーツ
Header 骨組み 上
Footer 骨組み 下
Sidebar 骨組み ナビ
404 エラー
Function プログラム

wordpress

困った時にすごい役立ちます。

MacBookが起動しなくなった

MacBook Proを起動すると、起動の途中で電源が落ちる症状になり、
commandキー + v を押しながら、起動するとunixのように読み込みファイルなどがいろいろ表示されます。
それでも表示されている最後のメッセージが確認できないのでiPhoneで動画を取り、メッセージを確認することになりました。

ハードディスクに障害がでているようなので、このMacBookをターゲットモードで外付けディスクで立ち上げ、ディスクユーティリティで修復したり、アクセス権を修復したりで回復することができました。

Macを使用している皆さんは、Time Machineでバックアップを行いましょう。

iMacのハードディスク換装

これを一度は、やってみかったです。

iMac_HD

iMac 21インチ Late 2009のハードディスクを交換してみました。所要時間は1時間で交換作業は終わりました。磁石だけでパネルが付けてあるのが、面白いけど、ネジを付けるときは磁石が邪魔をして、難しかったです。

AWS S3へ毎日バックアップ

AWS(Amazon Web Services)S3(Simple Storage Service)は、アマゾンが提供しているクラウドストレージサービスです。通販サイトで有名なアマゾンですが、クラウドサービスでアマゾンは抜きん出ています。アマゾンマネージメントコンソールでアクセスするとたくさんのメニューがあります。

AWS S3

AWSには、いろいろなサービスがありますが、主にE2(仮想サーバー)、S3、RDS(データベース)などは使用頻度が多いサービスかと思います。

そのうちのひとつである、S3を使用して、Windows Serverのファイルメーカーのデータを毎日6時に自動的にAWS S3にバックアップしています。比較的にS3の設定は簡単でしたが、Windows Serverのファイルを自動的にS3にバックアップするソフトがなくて、苦労しましたが、今回はこれがベストだと思い、GoodSyncで自動的にS3にバックアップしています。

GoodSync

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

デジタルドリームワークスから比嘉です。
先日に前置きで投稿しましたWooCommerce 支払い方法の追加について、プラグインを作る形で支払い方法を追加する必要があると説明しました。
それではさっそくプラグインを作成していきます。

プラグイン作成の作法はWordpress Codexを確認して下さい。
https://wpdocs.osdn.jp/プラグインの作成

またWooCommerceの支払い方法の追加についての詳細は公式ドキュメントから確認出来ます。
https://docs.woothemes.com/document/payment-gateway-api/

それでは実際に作成したコードが以下となります。
公式ドキュメントといくつかのプラグインを参考にさせていただきました!

※コードが画像のため見えにくいです。拡大して確認下さい。

blog-151113-pict01

さていくつかコードのメモを…

● 17行目 プラグインのアクション

公式ドキュメントを参考にプラグインが読み込まれたら、クラスを実行するコードを記述。

add_action( ‘plugins_loaded’, ‘init_your_gateway_class’);

ーーーーー

● 26行目〜48行目 コンストラクタ

クラスからオブジェクト作成れた際に自動で実行される部分です。
WooCommerceに必要な変数やメソッドが記述されています。

init_form_fields();
※支払い方法の設定ページで設定する項目が定義されています。

$this->init_settings();
※設定を読み込み

add_action( ‘woocommerce_update_options_payment_gateways_’ . $this->id, array( $this, ‘process_admin_options’ ) );
※支払い方法の設定を更新した際に保存する処理

add_action( ‘woocommerce_thankyou_basicbanktransfer’, array( $this, ‘thankyou_page’ ) );
※注文完了ページで支払い方法別の文章を追加

add_action( ‘woocommerce_email_before_order_table’, array( $this, ‘email_instructions’ ), 10, 3 );
※注文が完了した後に送信されるメールにも支払い方法別の文章を追加

と続きます。

また

ーーーーー

● 111行目〜129行目 注文処理の関連

注文が合った場合のプロセス状態を設定したり、在庫更新、カートを空にしたりする処理。

ーーーーー

● 133行目〜138行目 支払い方法の登録

そして最後にWooCommerceへ支払い方法の登録を行います。

以上が大まかな解説!?メモです。

終わりに…

今回のコードでは1つのプラグインで1つの支払い方法しか追加出来ていません。
2つ、3つとある場合はプラグインを増やしていかなくてはいけないですね。(なんて非効率的…)
またWooCommerceがインストールされていない状況での処理なども記述していません。
そこらへんを改良する必要がありますね。
とりあえずベースのコードは出来ましたので次回より改良していきたいと思います。

またこのコード間違っているよ。
別の方法やコードの記述例などがあればぜひコメントいただきたいです。
よろしくお願い致します。 m(_ _)m

WooCommerce 支払い方法 追加(前置き)

デジタルドリームワークスから比嘉です。
WooCommerceの検証が続いているため、WooCommerceネタがしばらく続きます。
しばらくお付き合い下さい。

さて表題通りですが、WooCommerceはWordpressでECショップを運営出来るプラグインです。
ECショップで欠かせないのが支払方法ですね。
デフォルトでは以下の項目が利用可能です。

銀行振込(ダイレクト)
小切手支払い
代金引換
PayPal

上記、銀行振込(ダイレクト)設定画面では、
「BACS(電信振替システム)を許可する。(国際的に一般化している電信振替システムです。日本国内取引では使いません。)」
というような文章が出てきます。
どうも通常の銀行振込とは違う様です。

電信振替システムについて…
預金ネットワーク内でユーザからの支払いを受け取り、資金を送金先に電信振替する自動預金システムを提供すること。

ふーん…
通常の銀行振込とは違う様です。
これとは別に銀行振込の項目を追加した方が良さそうですが、追加する項目が見当たりません。
早速 WooCommerce公式ページから確認すると、支払い方法はプラグインを作成して追加しないといけないようです。
(※英語ページのみで翻訳に自信がありませんが…多分そういうことが記述されている)

https://docs.woothemes.com/document/payment-gateway-api/

blog-151110-pict01

ということで、プラグインの作り方からWooCommerceの支払い方法の流れまでを次回ブログ記事にてアップしてきます。
それではよろしくお願い致します!

美浜ハローウィンイベント

Seiyaです。

先週の土曜日にアメリカンビレッジでハローウィンイベントがありました。
皆さんものすごくクォリティが高くてビックリしました!!

今年も、けんさん&ますみさんに司会をしていました!

hallowin

話がとても上手でとっても笑わせて頂きました。
撮影をしながらニヤニヤしてました!(笑)

子供の部では小さいお子さんたちが仮装しててとってもかわいかったです!

hallowin01
キッズ部門入選した子供達です。
来年は従業員のお子さん達も参加して欲しいです!!

大人の部では、すごいクォリティが高くて終始興奮しました!

一部の方は決めポーズもして頂いてシャッターチャンスを貰いました!(笑)

hallowin02 hallowin03 hallowin04 hallowin05

今回の優勝の方はすごくクオリティが高くてビックリしました。
制作に一年かかったらしくすごかったです!

hallowin06

順位とか私には決めれないくらいみんなのクォリティが高くて見ててとっても楽しかったです!

最後は入賞者全員で記念写真!

hallowin07

今年のハローウィンは終わってしまいましたが、来年のハローウィンがとっても楽しみです!!

 

Apple TV 第4世代のセットアップ

新しい機械を触るのは、ワクワクして楽しいです。会社にはテレビがないのでDVI端子の付いている液晶モニターからHDMIへ変換してApple TVに接続しましたが、音声がでないのが寂しいです。

Xcode7.1でtvOSサンプルアプリを動かしてみたのですが、予想外に難しかった。情報もいまのところ英語しかなくてわからないことだらけでした。

Apple TV 第4世代 Apple_TV_2