Я использую это для отправки основного электронного письма:
// Email details
$name = 'Davo';
$recipient = '[email protected]';
$from = '[email protected]'
$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.
К вашему сведению the_plugins() функция работает. Я могу echo the_plugins(); exit; сразу после функции, и она возвращает список плагинов, так что проблема не в самой функции.
Любые предложения о том, как обойти это?
@ShoyebSheikh ты имеешь в виду вот так: return $string = explode('/',$value); print $string[0] . '<br />'; Если я это сделаю, он вернется Array
я отправил ответ






Попробуй это,
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;
}
Возврат строки из функции. И удалите оператор печати.