関数
Item::convertWidgetCartItemOptionPayloadToWelcartDefault( array $item_option, int $post_id, string $sku )
WCEX Widget Cartと同様の方法でフォーマットされた商品オプションの配列が与えられた場合、 Welcartのデフォルトの商品オプションのデータ処理と異なる値をこのメソッドが変換するので、カートとお気に入りリストの同じ商品の間には不一致が存在しない
パラメータ パラメータ
- $item_option
(配列) (必須)
- $post_id
(数値) (必須)
- $sku
(文字列) (必須) MUST be urldecoded
ファイル: src/API/Item.php
public static function convertWidgetCartItemOptionPayloadToWelcartDefault($item_option, $post_id, $sku) {
global $usces;
$ioptkeys = $usces->get_itemOptionKey($post_id, true);
if ($ioptkeys) {
foreach ($ioptkeys as $key => $value) {
$optValues = $usces->get_itemOptions(urldecode($value), $post_id);
if (1 == $optValues['means']) { // multiselect
if (!empty($item_option[$post_id][$sku][$value])) {
$item_option[$post_id][$sku][$value] = explode(',', $item_option[$post_id][$sku][$value][0]);
}
}
}
}
if (isset($item_option[$post_id][$sku])) {
$item_option[$post_id][urlencode($sku)] = $item_option[$post_id][$sku];
if ($sku !== urlencode($sku)) {
// remove after encoding and replacing, if necessary
unset($item_option[$post_id][$sku]);
}
}
return $item_option;
}