2015-03-16 5 views
2

Я пытаюсь отправить почту в WordPress с помощьюWooCommerce почта Funtion возвращение NULL даже почта отправляется

$subject = 'WC Send Mail Test'; 

// load the mailer 
$mailer = WC()->mailer(); 
$send = $mailer->send(get_option('admin_email'), $subject, $mailer->wrap_message($subject, 'a test message'), '', ''); 
if($send){ 
echo "Sent"; 
}else{ 
echo "Not sent"; 
} 

Эта функция работает нормально, но я не в состоянии отслеживать почту отправляется или нет. $ посыла всегда NULL

Приведенный выше код взят из http://develop.woothemes.com/woocommerce/2014/10/2-3-emails/

+0

Что вы хотите сказать, что не можете отслеживать его? Где вы пытаетесь это отслеживать? – rnevius

+0

@mevius, пожалуйста, проверьте мой обновленный код –

+1

так же просто, как этот код, я могу заверить вас, что должен возвращать true ... если письмо было отправлено .. нет способа вернуть пустую причину, поскольку он может возвращать только true или false. .. – Reigel

ответ

0

Вы должны var_dump $ отправить, и посмотреть, Что вернулся. Еще почему вы не пытаетесь использовать функцию почтовой рассылки wordpress?

$multiple_recipients = array(
    '[email protected]', 
    '[email protected]' 
); 
$subj = 'The email subject'; 
$body = 'This is the body of the email'; 
if(wp_mail($multiple_recipients, $subj, $body)){ 
// Mail Sent Successfully 
}else{ 
// Mail not sent 
} 
+0

На самом деле мои клиенты хотят, чтобы каждый формат электронной почты был таким же. Поскольку мы используем woocommerce для нашего приложения, поэтому мы решили, что этот формат электронной почты будет таким же, как формат электронной почты для заказа в woocommerce, поэтому я использую функцию почты woocommerce. –

+0

Я думаю, вы нашли ответ, но лучший способ стандартизации всех ваших писем - использовать этот плагин https://wordpress.org/plugins/wp-email-template/. Мне очень нравится этот плагин и обычно используют его на всем веб-сайте, поэтому все электронные письма, отправленные из wordpress + woocommerce, следуют одному и тому же шаблону. –

+0

Спасибо за ваше предложение, но мое требование не подходит для этого. –

1

Наконец-то я получил решение. Я пытаюсь раскопать код WooCommerce и найти WooCommerce использовать этот файл для отправки электронной почты

WooCommerce/включает/класс-WC-emails.php

Вокруг линии нет. 214 Я нашел метод отправки.

У меня есть изменить код

$email->send($to, $subject, $message, $headers, $attachments); 

в

$return = $email->send($to, $subject, $message, $headers, $attachments); 
return $return; 

      **OR** 

Поскольку изменения Wordpress функциональность ядра является плохой привычкой, так что я получить правильный путь, чтобы переопределить WordPress основной функциональности.

Я только что создал структуру каталогов внутри ребенок-тему как

WooCommerce/включает

Здесь вы должны создать файл с именем класс туалет-emails.php и вставить отредактированный код файла здесь.

Пожалуйста, не обращайтесь за ИЛИ раздел, это не работает для меня.

+0

Можно ли это увидеть как ошибку в коде Woocommerce? Если да, сообщите об этом им, чтобы они могли исправить это для всех. Также помните, что если вы обновите Woocommerce, это изменение будет отменено. – Forza

+0

@Forza Я так думаю. Для этого я должен попросить разработчика woocommerce. –

+0

Да, пожалуйста, сделайте это! – Forza

Смежные вопросы