Отображение значения метаданных пользовательского заказа в уведомлениях по электронной почте WooCommerce - PullRequest
0 голосов
/ 24 апреля 2020

На основе следующего кода

Добавить пользовательский флажок в проверке WooCommerce, значение которого отображается в порядке редактирования администратора

Я пытался добавить my_field_name для подтверждения заказа электронное письмо. Как я понимаю, я должен использовать woocommerce_email_customer_details.

Так что я пришел к этому решению, к сожалению, без желаемого результата.

add_action('woocommerce_email_customer_details','woocommerce_email_order_invoice_number', 28, 4 );
function woocommerce_email_order_invoice_number( $order, $sent_to_admin, $plain_text, $email ) {
  if( $my_field_name = get_post_meta( $order->get_id(), 'my_field_name', true ) ) 
      echo '<p><strong>My custom field: </strong> <span style="color:red;">Is enabled</span></p>';
}

1 Ответ

1 голос
/ 27 апреля 2020

У вас есть некоторые незначительные ошибки, с помощью условия if "$email->id == ..." вы можете настроить таргетинг писем

Как настроить таргетинг на другие электронные письма заказа WooCommerce

  • 'cancelled_order'
  • 'customer_completed_order'
  • 'customer_invoice'
  • 'customer_new_account'
  • 'customer_note'
  • 'customer_on_hold_order'
  • 'customer_refunded_order'
  • 'customer_reset_password'
  • 'failed_order'
  • 'new_order'

function woocommerce_email_order_invoice_number( $order, $sent_to_admin, $plain_text, $email ) {
    // For 'new order'
    if ( $email->id == 'new_order' ) {

        $my_field_name = get_post_meta( $order->get_id(), 'my_field_name', true );

        if( $my_field_name && $my_field_name == 1 ) {
            echo '<p><strong>My custom field: </strong> <span style="color:red;">Is enabled</span></p>';
        }
    }
}
add_action( 'woocommerce_email_customer_details', 'woocommerce_email_order_invoice_number', 20, 4 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...