Здравствуйте. Основываясь на этой теме -
настроил вывод в документ сеанса дополнительного поля "username". Все работало до вчерашнего дня, пока в форму заказа не был добавлен новый элемент, который вызвал проблему, аналогичную данной темы -
После удаления нового элемента из формы заказа указанная проблема была решена, однако сбился вывод в документ сеанса дополнительного поля "username". В xml формате документ не заполняет строку username и оставляет ее в таком виде:
<?xml version="1.0" encoding="UTF-8"?> -<session> -<event> <ID-Order>Заказ № 121</ID-Order> <OrderDate>Дата заказа: 2020-02-19 18:36:35</OrderDate> <Place-Amount>Всего мест: 1</Place-Amount> <Order-Price>Стоимость заказа: 0</Order-Price> <Event>Турнир №2.1 (19.02.2020 в 19:00 по МСК)</Event> <Places>Ряд Команд №1, 2, 3, 4 Места: 3-2</Places> <EventDate>2020-02-19</EventDate> <EventTime>19:00:00</EventTime> <username></username> </event> -<event> <ID-Order>Заказ № 119</ID-Order> <OrderDate>Дата заказа: 2020-02-19 17:53:47</OrderDate> <Place-Amount>Всего мест: 1</Place-Amount> <Order-Price>Стоимость заказа: 0</Order-Price> <Event>Турнир №2.1 (19.02.2020 в 19:00 по МСК)</Event> <Places>Ряд Команд №1, 2, 3, 4 Места: 4-2</Places> <EventDate>2020-02-19</EventDate> <EventTime>19:00:00</EventTime> <username></username> </event>
В таблице excel также данное поле остается незаполненным. Проверял код, который был рекомендован в теме про вывод дополнительных полей, вроде все осталось без изменений.
Вот код:
$evpl_places->query['join'][] = "INNER JOIN " . WP_PREFIX . "evpl_orders AS orders ON places.order_id=orders.order_id"; $evpl_places->query['select'] = array(); $evpl_places->query['select'][] = 'places.order_id'; $evpl_places->query['select'][] = 'orders.order_date'; $evpl_places->query['select'][] = 'orders.place_amount'; $evpl_places->query['select'][] = 'orders.order_price'; $evpl_places->query['select'][] = 'places.event_id'; $evpl_places->query['select'][] = 'places.event_places'; $evpl_places->query['select'][] = 'DATE(places.event_date) as eventdate'; $evpl_places->query['select'][] = 'TIME(places.event_date) as eventtime'; $evpl_places->query['select'][] = 'orders.order_details'; $events = $evpl_places->get_places(); $xml = new DomDocument( '1.0', 'utf-8' ); $session = $xml->appendChild( $xml->createElement( 'session' ) ); foreach ( $events as $event ) { $eventXml = $session->appendChild( $xml->createElement( 'event' ) ); foreach ( $event as $key => $value ) { $content = ''; switch ( $key ) { case 'order_details': $name = 'username'; $userName = array(); foreach(maybe_unserialize($value) as $field){ if(in_array($field['title'], array('Ваш nickname в PUBG Mobile'))){ $userName[] = stripslashes_deep($field['value']); } } $content = implode(' ',$userName); break; и в конце } } else if($key != 'order_details'){ $content .= $value; }
Помогите, пожалуйста, восстановить вывод дополнительного поля username в таблицу сеансов. Заранее большое спасибо!!!
Добрый день.
Разбираться с тем, какое поле и когда вы удалили, добавляли и как меняли код, к сожалению, у меня возможности нет.
Могу посоветовать вам вернуть код на исходную позицию до рабочего состояния и далее снова пытаться вносить изменения, но конечно, лучше это делать понимая их смысл.