Функция не работает внутри тела почты PHP - PullRequest
0 голосов
/ 09 марта 2019

Я использую это для отправки основного электронного письма:

// Email details
$name = 'Davo';
$recipient = 'info@davo.com';
$from = 'sender@example.com'
$subject = 'Testing';

// All plugins
function the_plugins() {
    $the_plugs = get_option('active_plugins'); 
    foreach($the_plugs as $key => $value) { 
        $string = explode('/',$value); print $string[0] . '<br />';
    }
}

// Message
$body = '<p>Hello' . $name . ',</p>';
$body .= '<p>Your website has these plugins:</p>';
$body .= the_plugins();
$body .= '<p>Have a nice day.</p>';

$headers[]  = 'Content-type:text/html;charset=UTF-8';
$headers[]  = 'From' . $name. ' <' . $from . '>';
$headers[]  = 'Reply-To: ' . $from;
$headers[]  = 'MIME-Version: 1.0';
wp_mail($recipient, $subject, $body, $headers);

Единственное, что не работает, это функция the_plugins(), которая не показывает ничего в прибывающем электронном письме.Вместо этого он просто пуст в строке, где я ожидаю увидеть список плагинов, и выглядит так:

Hello Davo,
Your website has these plugins:

Have a nice day.

FYI the_plugins() функция работает.Я могу echo the_plugins(); exit; сразу после функции, и она возвращает список плагинов, так что сама функция не является проблемой.

Любые предложения о том, как обойти это?

1 Ответ

1 голос
/ 09 марта 2019

Попробуйте,

function the_plugins() {
    $the_plugs = get_option('active_plugins'); 
    $plugins = '';
    foreach($the_plugs as $key => $value) { 
        $string = explode('/',$value); 
        $plugins .= $string[0] . '<br />';
    }
   return $plugins;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...