クラス
OrderEdit
ソース ソース
ファイル: src/Admin/OrderEdit.php
class OrderEdit { /** * Registers hooks * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return void */ public static function init() { add_action('usces_pre_update_orderdata', [get_class(), 'updateGroupItemOrderCartOptionData']); } /** * Updates group item order cart option data, if necessary * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return void */ public static function updateGroupItemOrderCartOptionData() { global $wpdb; if (!isset($_POST['wcexicsGroupItemOption'])) { return; } $cart_table = Schema::getComboSetGroupItemsOrderCartTable(); $cart_meta_table = Schema::getComboSetGroupItemsOrderCartMetaTable(); foreach ((array)$_POST['wcexicsGroupItemOption'] as $cartmeta_id => $value) { $ordercart_metas = $wpdb->get_row( $wpdb->prepare("SELECT * FROM {$cart_meta_table} WHERE cartmeta_id = %d", (int)$cartmeta_id), ARRAY_A ); if (empty($ordercart_metas)) { continue; } $post_id = (int)$wpdb->get_var( $wpdb->prepare("SELECT post_id FROM {$cart_table} WHERE cart_id = %d", (int)$ordercart_metas['cart_id']) ); if (empty($post_id)) { continue; } $option_fields = usces_get_opts($post_id, 'name'); $means = $option_fields[$ordercart_metas['meta_key']]['means']; if (is_array($value)) { $opval = []; if (4 == $means) { foreach ($value as $v) { $opval[] = urldecode($v); } } else { foreach ($value as $v) { $opval[$v] = urldecode($v); } } $value = serialize($opval); } else { if (3 == $means) { $value = urldecode($value); } } $wpdb->query($wpdb->prepare( "UPDATE $cart_meta_table SET meta_value = %s WHERE cartmeta_id = %d", $value, $cartmeta_id )); } } }
- init — Registers hooks
- updateGroupItemOrderCartOptionData — Updates group item order cart option data, if necessary