如何在HTML电子邮件中获取自定义元值

时间:2015-04-10 12:33:23

标签: php wordpress html-email

我试图在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和样式工作。自定义元值似乎没有显示。他们都保存在帖子中,所以我知道那是有效的。假设它在我将其全部调用到消息中的方式。

提前致谢

1 个答案:

答案 0 :(得分:2)

将此添加到您的功能顶部

global $post

请用get_post_meta函数替换$ post-&gt; id:

$post->ID

感谢。