Задача. В админпанели в деталях заказа по-умолчанию в блоках «Платеж» и «Доставка» выводятся имя и фамилия покупателя. Необходимо добавить ещё отчество покупателя.

Решение. Для добавления отчества в детали заказа, можно вставить Код №1 в functions.php
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
/** Вывод отчества в деталях заказа **/ /* Отчество в метабоксе информации о заказе */ add_filter('woocommerce_admin_billing_fields', function ($fields) { $names = array( 'last_name' => array( 'label' => __('Фамилия'), 'show' => false, ), 'first_name' => array( 'label' => __('Имя'), 'show' => false, ), 'middle_name' => array( 'label' => __('Отчество'), 'show' => false, ), ); unset($fields['first_name']); unset($fields['last_name']); return $names + $fields; }, 10, 1); /* Отчество в функции форматирования адреса get_formatted_billing_address */ add_filter('woocommerce_order_formatted_billing_address', function ($address, $order) { $address['middle_name'] = $order->get_meta('_billing_middle_name'); return $address; }, 10, 2); /* Отчество в функции форматирования адреса get_formatted_shipping_address */ add_filter('woocommerce_order_formatted_shipping_address', function ($address, $order) { $address['middle_name'] = $order->get_meta('_billing_middle_name'); return $address; }, 10, 2); /* Отчество в функции форматирования адреса get_formatted_address */ add_filter('woocommerce_formatted_address_replacements', function ($replacements, $args) { if (isset($args['middle_name'])) { $replacements['{name}'] = $args['last_name'] . ' ' . $args['first_name'] . ' ' . $args['middle_name']; } else { $replacements['{name}'] = $args['last_name'] . ' ' . $args['first_name']; } return $replacements; }, 10, 2); /** end Вывод отчества в деталях заказа **/ |