我试图在wordpress上发布帖子后发送电子邮件。得到它没有问题,看起来很棒,完全响应等。
然而,唯一的问题是我的大多数帖子内容都是自定义元。在我的邮件功能中,我使用get_post_meta获取所有字段,然后将它们打印到HTML电子邮件中。
例如:
function booking_confirmation_email() {
$guestname = get_post_meta( $post->ID, 'guestname', true );
$phone = get_post_meta( $post->ID, 'phone', true);
$guestemail = get_post_meta( $post->ID, 'email', true);
//The recipients
$title = get_the_title( $ID );
$to = 'coda@knoppys.co.uk',$guestemail;
$subject = 'Booking Confirmation : ' . $title;
$headers = 'From: Serviced City Pads';
//the message
$message = '
<loads of html>
<p>' . $title . '</p>
<p>' . $guestname . '</p>
<p>' . $phone . '</p>
<p>' . $guestemail . '</p>
</loads of html>
';
//send the email
wp_mail( $to, $subject, $message, $headers, $attachments );
}
add_action('publish_bookings', 'booking_confirmation_email');
显然我已经把它剥了一下,但你明白了。问题不过是硬编码的电子邮件地址,$ title,HTML和样式工作。自定义元值似乎没有显示。他们都保存在帖子中,所以我知道那是有效的。假设它在我将其全部调用到消息中的方式。
提前致谢
答案 0 :(得分:2)
将此添加到您的功能顶部
global $post
请用get_post_meta函数替换$ post-&gt; id:
$post->ID
感谢。