Как обновить мета позиции заказа на странице заказа woocommerce? - PullRequest
0 голосов
/ 24 октября 2019

В настоящее время я использую плагин Woocommerce Event Manager с woocommerce для продажи билетов на мой веб-сайт. Я хотел бы внести некоторые изменения на своем веб-сайте, чтобы веб-администратор мог обновлять информацию об участнике всякий раз, когда клиент запрашивает изменение.

В настоящее время информация об участнике хранится в виде мета-элемента элемента заказа woocommerce в виде массива.

снимок экрана страницы заказа

Ниже приведен код отображения формы информации о посетителе в заказе

add_action( 'woocommerce_after_order_itemmeta', 'edit_attendee_list', 10, 3);

function edit_attendee_list( $item_id, $item, $_product){
?>
  <style type="text/css">
  .th__title{
    text-transform: capitalize;
    display: inline-block;
    min-width: 140px;
  }
ul.attendee_list {
    border: 1px solid #ddd;
    padding: 20px;
    margin-bottom: 20px;
    width: 100%;
}
ul.attendee_list li {
    border-bottom: 1px dashed #ddd;
    padding: 5px 0 10px;
} 
ul.attendee_list li h3 {
    padding: 0;
    margin: 0;
} 
</style>
<?php
  $user_info_arr = wc_get_order_item_meta($item_id,'_event_user_info',true);
  if($user_info_arr){
    $event_id = wc_get_order_item_meta($item_id,'event_id',true);
    $counter = 1;
    if(!empty($user_info_arr)){
    foreach ($user_info_arr as $key => $value) {
      echo '<ul class="attendee_list">';
      echo "<li><h3>Attendee: $counter</h3></li>";
       foreach ($value as $_key => $_value) {
        //echo '<li><span class="th__title">'.mep_string_beauty($_key).':</span> '.$_value.'</li>';
        woocommerce_wp_text_input( array(
          'id'            => $_key,
          'label'         => __(mep_string_beauty($_key)),
          'value'         => $_value,
          'wrapper_class' => 'form-field-wide',
      ) );
       }
      echo '</ul>';
      $counter++;
    }
}
}

Теперь у меня возникла проблема с сохранением этой формы. Есть ли подходящий крючок, который я могу использовать для сохранения обновленной мета позиции заказа?

Кроме того, как я могу сохранить приведенную выше динамическую форму в виде массива, чтобы заменить предыдущий пользовательский информационный массив в моей мета-позиции порядка woocommerce?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...