Как вставить ИНН фирмы в email-уведомление
-
Добрый день!
Не могу вставить ИНН организации в email-уведомление о новом заказе.
ИНН вводится на странице оформления заказа и хранится в таблицах wp_postmeta и wp_usermeta. При попытке вывести из первой таблицы выводится, почему-то, ID поста (заказа). При попытке вывести из второй таблицы не выводится ничего.Если отправить повторное уведомление о новом заказе из админки, то второй вариант срабатывает.
Использую следующий код:
<? function inn_to_mail(){ global $wpdb; // Пытаемся получить ИНН из wp_usermeta $current_user = wp_get_current_user(); $getinn = get_user_meta($current_user->ID, 'inn', true); // Пытаемся получить ИНН из wp_postmeta $post_id = get_the_ID(); $getinn2 = get_post_meta( $post_id, 'inn', true ); echo '<span style="color: #fff;">ИНН организации: ' . $getinn . ' - ' . $getinn2 . '</span> '; } // Вставляем ИНН в подвал email-уведомления add_action( 'woocommerce_email_footer', 'inn_to_mail' ); ?>
Чтобы ИНН записывался в базу программист, который создавал сайт, писал плагин. Код такой:
<? function wc_plug_shipping_fields( $fields ) { unset($fields["shipping_first_name"]); unset($fields["shipping_last_name"]); //$fields["shipping_last_name"]["required"] = false; //$fields["shipping_first_name"]["required"] = false; $fields['shipping_company']["required"] = true; //var_dump($fields['shipping_company']); $fields['inn']["required"] = true; $fields['inn']['label'] = 'ИНН'; $user = get_currentuserinfo(); if ($user){ $legal_addr = get_user_meta($user->id, 'shipping_company', true); if ($legal_addr){ $fields['shipping_company'] = array( 'label' => 'Юридический адрес', 'placeholder' => 'Юридический адрес', 'required' => true, 'class' => array('form-row-wide'), 'clear' => true, 'type' => 'textarea' ); //unset($fields["shipping_company"]); unset($fields["shipping_country"]); unset($fields["shipping_address_1"]); unset($fields["shipping_address_2"]); unset($fields["shipping_city"]); unset($fields["shipping_state"]); unset($fields["shipping_postcode"]); //unset($fields["old_legal_address"]); //unset($fields[""]); //unset($fields[""]); } $inn = get_user_meta($user->id, 'inn', true); if ($inn){ $fields['inn']['value'] = $inn; } } //var_dump($fields); return $fields; } add_filter( 'woocommerce_shipping_fields', 'wc_plug_shipping_fields' ); add_action( 'woocommerce_checkout_update_order_meta', 'another_save_custom_shipping_fields' , 10, 1); function another_save_custom_shipping_fields ( $order_id ) { $current_user = wp_get_current_user(); if ( isset( $_POST ['shipping_company'] ) && '' != $_POST ['shipping_company'] ) { update_post_meta( $order_id, '_shipping_company', sanitize_text_field( $_POST ['shipping_company'] ) ); update_user_meta( $current_user->ID, 'shipping_company', $order_id ); } if ( isset( $_POST ['old_legal_address'] ) && '' != $_POST ['old_legal_address'] ) { update_post_meta( $order_id, '_old_legal_address', sanitize_text_field( $_POST ['old_legal_address'] ) ); update_user_meta( $current_user->ID, 'old_legal_address', $order_id ); } if ( isset( $_POST ['inn'] ) && '' != $_POST ['inn'] ) { update_post_meta( $order_id, 'inn', sanitize_text_field( $_POST ['inn'] ) ); update_user_meta( $current_user->ID, 'inn', $order_id ); } } add_filter( 'woocommerce_order_details_after_order_table', 'add_delivery_date_to_order_received_page', 10 , 1 ); function add_delivery_date_to_order_received_page ( $order ) { if( version_compare( get_option( 'woocommerce_version' ), '3.0.0', ">=" ) ) { $order_id = $order->get_id(); } else { $order_id = $order->id; } $old_legal_address = get_post_meta( $order_id, '_old_legal_address', true ); if ( '' != $old_legal_address ) { echo '<strong>' . 'Юридический адрес' . ':</strong> ' . $old_legal_address . ' '; } $shipping_company = get_post_meta( $order_id, '_shipping_company', true ); if ( '' != $shipping_company ) { echo '<strong>' . 'Юридический адрес' . ':</strong> ' . $shipping_company . ' '; } $inn = get_post_meta( $order_id, 'inn', true ); if ( '' != $shipping_company ) { echo '<strong>' . 'ИНН' . ':</strong> ' . $inn . ' '; } } function custom_field_function_name($order){ //var_dump($order); echo "<strong>Юридический адрес:</strong> " . get_post_meta($order->ID, '_shipping_company', true) . " "; echo "<strong>ИНН:</strong> " . get_post_meta($order->ID, 'inn', true) . " "; } add_action( 'woocommerce_admin_order_data_after_shipping_address', 'custom_field_function_name', 20, 1 ); ?>
В общем не могу разобраться как из всего этого вытащить ИНН и отправить в сообщении о новом заказе.
Спасибо.
Просмотр 2 ответов — с 1 по 2 (всего 2)
Просмотр 2 ответов — с 1 по 2 (всего 2)
- Тема «Как вставить ИНН фирмы в email-уведомление» закрыта для новых ответов.