2019.07.25
#webサイト
こんにちは。Webディレクターの小林サトシです。
7月も残りわずかとなりましたが、特にうなだれるような暑さは感じず
過ごしやすい気候が続いています。
大の夏好きの私にとっては、暑くなってほしいようなこのままの気候が続いてほしい様ような
そんな複雑な心境で令和元年の夏を過ごしております。
と、ここで昼食の為に外出しましたが全然暑かったです。
やっぱり涼し方がいいですね!
さて、前回に続き今回もWooCommerceについて書いてみようと思います。
WooCommerceはWordPress上にネットショップを開設するプラグインなのですが
WooCommerceのプラグインも存在します。
どういう事かというと、オープンソースゆえに、WooCommerceをより快適に運用する為の
言わば「プラグインのプラグイン」がサードパーティにより開発されているという事です。
そもそも無料のプラグインなのに、便利なプラグインが多く存在しているのはとても魅力的ですよね?
そんな様々な便利プラグインですが、その中でも特に決済プラグインが必要不可欠です。
(導入時はネット決済が出来ないので、一番最初に検討するプラグインかもしれません)
しかし、海外製のプラグインゆえ、決済プラグインを導入して、さあスタート!といかない事もしばしば。
ここからはAmazon Pay導入時に姓名の逆転を防ぐ方法について記載したいと思います。
上の画像の様に、管理画面の注文履歴でサンプル 太郎さんのご注文が太郎 サンプルさんになってしまっています。
プラグインを直接触ることになりますが、ほんの一か所を更新するだけで解決できます。
/woocommerce-gateway-amazon-payments-advanced/includes/class-wc-amazon-payments-advanced-api.php
class-wc-amazon-payments-advanced-api.phpが見つかれば、
後は1664~1682行の間に下記のコードが記述されているはずですので頑張って探してみて下さい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/** * Format an Amazon Pay Address DataType for WooCommerce. * * @see https://payments.amazon.com/documentation/apireference/201752430 * * @param array $address Address object from Amazon Pay API. * * @return array Address formatted for WooCommerce. */ public static function format_address( $address ) { $formatted = array(); // Get first and last names. // @codingStandardsIgnoreStart $address_name = explode( ' ', (string) $address->Name ); $formatted['last_name'] = array_pop( $address_name ); $formatted['first_name'] = implode( ' ', $address_name ); // @codingStandardsIgnoreEnd |
この中の$address_nameあたりを書き換えます。
1 2 3 4 5 6 |
// Get first and last names. // @codingStandardsIgnoreStart $address_name = (string) $address->Name ; $formatted['first_name'] = ''; $formatted['last_name'] = $address_name ; // @codingStandardsIgnoreEnd |
これだけです!場所を探すのが少し大変ですが、見つかってしまえば後はコピペで簡単ですね。
なお、少しでも書き間違えると動作しなくなるなどの問題も発生しかねないので
プラグインの編集には十分にお気をつけ下さい。
いかがでしたでしょうか。
今後プラグイン自体のアップグレードなどで問題が解決されると、
こういった作業がなくなるかもしれませんがお困りの際は是非試してみて下さい。