Automattic\WooCommerce\Internal\Admin\Orders\MetaBoxes
CustomMetaBox::handle_update_meta()
Handles updating metadata.
Метод класса: CustomMetaBox{}
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
// private - только в коде основоного (родительского) класса $result = $this->handle_update_meta( $order, $meta );
- $order(WC_Order) (обязательный)
- Order object.
- $meta(массив) (обязательный)
- Meta object to update.
Код CustomMetaBox::handle_update_meta() CustomMetaBox::handle update meta WC 9.3.3
private function handle_update_meta( WC_Order $order, array $meta ) { if ( ! is_array( $meta ) ) { wp_send_json_error( 'invalid_meta' ); wp_die(); } array_walk( $meta, 'sanitize_text_field' ); $mid = (int) key( $meta ); if ( ! $mid ) { wp_send_json_error( 'invalid_meta_id' ); wp_die(); } $key = $meta[ $mid ]['key']; $value = $meta[ $mid ]['value']; if ( is_protected_meta( $key ) ) { wp_send_json_error( 'protected_meta' ); wp_die(); } if ( '' === trim( $key ) ) { wp_send_json_error( 'invalid_meta_key' ); wp_die(); } $count = 0; $order->update_meta_data( $key, $value, $mid ); $order->save_meta_data(); $response = new WP_Ajax_Response( array( 'what' => 'meta', 'id' => $mid, 'old_id' => $mid, 'data' => $this->list_meta_row( array( 'meta_key' => $key, // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key -- false positive, not a meta query. 'meta_value' => $value, // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_value -- false positive, not a meta query. 'meta_id' => $mid, ), $count ), 'position' => 0, ) ); $response->send(); }