chatii です。1.0-beta2 すすめてます。
インストール後、
システム設定 → 国・言語・通貨 をすべて日本にしたところ、
配送設定 → 送料 及び 配達日数 の表示が崩れてしまいました。
(タブの表示がなくなる)
さらに、都道府県名が設定されているにも関わらず、
1つも表示されませんでした。
というか、そもそもデフォルトでUSが選ばれていることに違和感を覚えました。
(WordPressやPHPを英語にしているわけでもないし…)
配送設定のページソースを辿ったところ、
JavaScriptの var base_country = ‘US’ となっていました。
下記が該当部分。
/usc-e-shop/includes/admin_delivery.php:49
var base_country = ‘<?php echo $base_country; ?>’;
で、$base_country がUSになってしまう理由をたどりました。
(検証は念のため、DB_options の option_name に uscesが含まれるものをすべて削除しています)
/usc-e-shop/includes/admin_delivery.php:30
$base_country = $this->options;
なので、$this->options を探し、
/usc-e-shop/classes/usceshop.class.php:860
$this->options = (isset($_POST) && ‘others’ != $_POST) ? $_POST : usces_get_base_country();
次に usces_get_base_country() を探しました。
ここで、下記のようなエラーに遭遇していたので、
Warning: array_key_exists() expects parameter 2 to be array, null given in /path/to/wp/wp-content/plugins/usc-e-shop/functions/function.php on line 3699
usces_get_base_country() の中で
$usces_settings をDumpしたら (エラーの通り)NULL でした。
$usces_settings をDumpすると、
$usces_settings しかこないようです。
usces_get_base_country()の中でglobal $usces_settings していますが、
usc_e_shop クラス のコンストラクタで定義した分のみのようです。
スコープの問題だろうと思い、
/usc-e-shop/usc-e-shop.php の
各種 define の後(30行目の直後)に
global $usces_settings, $usces_states;
を入れたところ、期待通りの動作になりました。
Welcartを新規に有効にすると、デフォルトの地域がちゃんとJPになり、
販売対象国は日本、都道府県もすべて入り、配送設定も
ちゃんと表示されるように。
最初にUSになる現象は、usces_get_base_country() が return ‘US’ にしていたことが
原因だったようです。
長くなり申し訳ありません。ご確認いただければ幸いです。