WordPress のバージョン:3.3.1
Welcart のバージョン:1.1.3.1203171
お世話になります。
お客様からの指摘で、配送方法の違う商品を複数購入時「有効な配送方法が見当たりません。」と表示され次のページを進めないことがわかりました。こちらのトピックと以下のトピックと同じ状態のようです。
[解決済み] 配送方法「有効な配送方法が見当たりません。」 ≪ Welcart Forum
トピックを参考に設定し直してみましたが状況変わらず。
DBやWordPressをまっさらな状態から構築し直し、defaultの状態で試してみても変わらず仕舞いでしたのでソースを追ってみたところ、
usceshop.class.php -> get_available_delivery_method() メソッド内
if( empty($intersect) ){
$intersect = $deli;
}
$intersect = array_intersect($deli, $intersect);
// 省略
if( empty($intersect) ){
return array();
}else{
return $intersect;
}
の処理で共通の配送方法がないと空の配列が返り、最終的に「有効な配送方法が見当たりません」と処理されているようなのですが、こちらは仕様なのでしょうか。
panさんがおっしゃってる、”偶数番目に、直前の商品と違う配送方法の商品を入れると、「有効な配送方法が見当たりません。」となる”の現象は、array_intersect メソッド周りの処理が原因のようです。
usces_filter_get_available_delivery_method フックを使用して、空配列の場合は強引に一番高い送料に設定して確認画面に進めることも出来ますが、問題解決になっていないような気もしますし、かと言ってコアの部分を直接いじるのも気が引けるので困っています。