Задача. В админпанели в деталях заказа по-умолчанию в блоках «Платеж» и «Доставка» выводятся имя и фамилия покупателя. Необходимо добавить ещё отчество покупателя.
Решение. Для добавления отчества в детали заказа, можно вставить Код №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 Вывод отчества в деталях заказа **/
|