因此,我有一个本地主机WordPress服务器,并且wp\\u mail功能可以完美地工作并发送。当我将完全相同的文件作为主题放在实际的WordPress网站上时,它只显示一个空白屏幕,不发送任何内容。代码:
<?php
if (isset($_POST[\'submit\'])) {
$first_name = $_POST[\'first_name\'];
$last_name = $_POST[\'last_name\'];
$email = $_POST[\'email\'];
$subject = $_POST[\'subject\'];
$message = $_POST[\'message\'];
$company = $_POST[\'company\'];
$to = "[email protected]";
function wpse27856_set_content_type(){
return "text/html";
}
add_filter( \'wp_mail_content_type\',\'wpse27856_set_content_type\' );
$msg = \'<html><body><h1>Contact Service</h1><table rules="all" style="border-color: #666;" cellpadding="10"><tr style="background: #E3E8EC;"><td><strong>First Name:</strong> </td><td>\' . strip_tags($_POST[\'first_name\']) . \'</td></tr><tr><td><strong>Last Name:</strong> </td><td>\' . strip_tags($_POST[\'last_name\']) . \'</td></tr><tr><td><strong>Email:</strong> </td><td>\' . strip_tags($_POST[\'email\']) . \'</td></tr><tr><td><strong>Company:</strong> </td><td>\' . strip_tags($_POST[\'company\']) . \'</td></tr><tr><td><strong>Message:</strong> </td><td>\' . strip_tags($_POST[\'message\']) . \'</td></tr></body></html>\';
wp_mail( $to, $subject, $msg );
?>
然后是一个表单,您可以在其中输入所有内容。任何帮助都将不胜感激:)
SO网友:butlerblog
屏幕变为空白的原因是出现错误。您需要打开调试输出(例如将WP\\u DEBUG设置为true),以便了解错误是什么。
在查看代码时,最可能的问题是您缺少了开头“if”的右大括号。问您的问题时,这可能只是一个复制/粘贴错误?
<?php
if (isset($_POST[\'submit\'])) {
$first_name = $_POST[\'first_name\'];
$last_name = $_POST[\'last_name\'];
$email = $_POST[\'email\'];
$subject = $_POST[\'subject\'];
$message = $_POST[\'message\'];
$company = $_POST[\'company\'];
$to = "[email protected]";
function wpse27856_set_content_type(){
return "text/html";
}
add_filter( \'wp_mail_content_type\',\'wpse27856_set_content_type\' );
$msg = \'<html><body><h1>Contact Service</h1><table rules="all" style="border-color: #666;" cellpadding="10"><tr style="background: #E3E8EC;"><td><strong>First Name:</strong> </td><td>\' . strip_tags($_POST[\'first_name\']) . \'</td></tr><tr><td><strong>Last Name:</strong> </td><td>\' . strip_tags($_POST[\'last_name\']) . \'</td></tr><tr><td><strong>Email:</strong> </td><td>\' . strip_tags($_POST[\'email\']) . \'</td></tr><tr><td><strong>Company:</strong> </td><td>\' . strip_tags($_POST[\'company\']) . \'</td></tr><tr><td><strong>Message:</strong> </td><td>\' . strip_tags($_POST[\'message\']) . \'</td></tr></body></html>\';
wp_mail( $to, $subject, $msg );
} // this closes the "if" and was omitted in the original code.
?>