WooCommerce: переименование, добавление и удаление шаблонов электронной почты в раскрывающемся списке виджетов для отправки электронной почты. - PullRequest
0 голосов
/ 07 ноября 2018

Несколько дней назад я задал вопрос, как переименовать шаблоны электронной почты в WooCommerce. К счастью, хороший участник из Stackoverflow помог мне с ответом.

После перехода к обзору заказа я увидел, что шаблоны в раскрывающемся списке, где я могу отправлять электронные письма вручную, не переименовываются, как вы можете видеть на рисунке ниже:

enter image description here

Итак, чтобы задать полный вопрос: как я могу переименовать, добавить и удалить шаблоны электронной почты в этом раскрывающемся списке?

UPDATE

Я нашел код, где создается виджет, но я не знаю, как подключить его, чтобы переименовать или добавить электронные письма:

/**
     * Resend order emails
     */
    public function send_order_email_meta_box( $post ) {
        ?>
        <ul class="wpo_wcpdf_send_emails submitbox">
            <li class="wide" id="actions">
                <select name="wpo_wcpdf_send_emails">
                    <option value=""></option>
                    <?php
                    $mailer           = WC()->mailer();
                    $available_emails = apply_filters( 'woocommerce_resend_order_emails_available', array( 'new_order', 'cancelled_order', 'customer_processing_order', 'customer_completed_order', 'customer_invoice' ) );
                    $mails            = $mailer->get_emails();
                    if ( ! empty( $mails ) && ! empty( $available_emails ) ) { ?>
                        <?php
                        foreach ( $mails as $mail ) {
                            if ( in_array( $mail->id, $available_emails ) && 'no' !== $mail->enabled ) {
                                echo '<option value="send_email_' . esc_attr( $mail->id ) . '">' . esc_html( $mail->title ) . '</option>';
                            }
                        } ?>
                        <?php
                    }
                    ?>
                </select>
                <input type="submit" class="button save_order button-primary" name="save" value="<?php esc_attr_e( 'Save order & send email', 'woocommerce-pdf-invoices-packing-slips' ); ?>" />
                <?php
                $title = __( 'Send email', 'woocommerce-pdf-invoices-packing-slips' );
                $url = wp_nonce_url( add_query_arg('wpo_wcpdf_action','resend_email'), 'generate_wpo_wcpdf' );
                // printf('<a href="%s" class="button wpo_wcpdf_send_email"><span>%s</span></a>')
                ?>
            </li>
        </ul>
        <?php
    }

1 Ответ

0 голосов
/ 07 ноября 2018

Тааак я много пробовал и нашел решение:

/**
 * Change array which adds the widget in each order for sending emails
 */
add_filter( 'woocommerce_resend_order_emails_available', 'change_emails_to_send', 10, 1 );
function change_emails_to_send() {
    return array( 'new_order', 'cancelled_order', 'customer_processing_order', 'customer_completed_order' );
}

Вы можете добавлять или удалять электронные письма сейчас. Я не уверен, как я могу переименовать это, но я надеюсь, что я узнаю это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...