将自定义字段值发送到电子邮件

时间:2016-11-11 15:50:54

标签: wordpress custom-post-type contact-form contact-form-7

我创建了名为Emails的自定义帖子类型,并使用高级自定义字段插件将自定义字段添加到名为电子邮件页脚的自定义帖子类型中的一个帖子中,该字段是应显示在每个自动电子邮件底部的图像字段走出网站。

当前代码I' m

function wpcf7ev_verify_email_address2( $wpcf7_form ){
     $email_footer = '<html>
<body style="color:#000000;">
<div style="font-size:16px;font-weight:bold;margin-top:20px;">
Regards,
<br/>

$email_footer .= '<img src="http://mysite.col/footer_image.jpg" width="100%"  alt=""/>
</div>';
$email_footer .='<div style="display:none;">'.generateRandomString().
'</div></body>
</html>
';

代码正常运行,它会在底部显示带有此网址的图片:http://mysite.col/footer_image.jpg

但我不想要硬编码,我希望能够使用我创建的自定义字段修改它

我查看了ACF文档并发现了这一点,但我不知道如何使用它仍然显示我创建的自定义帖子类型上的确切字段:

<?php 

$image = get_field('image');

if( !empty($image) ): ?>

    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />

<?php endif; ?>

1 个答案:

答案 0 :(得分:1)

您从ACF文档中概述的代码告诉您如何使用Image(带有类型数组)从ACF字段获取图像。

如果我们要将这个实现到你的函数中,我们必须从某个地方的页面引用图像。在不知道你如何称呼它的情况下,有几种方法可以嵌入它。

第一种方式,我们将其传递给页面上调用的函数,就像这样......

wpcf7ev_verify_email_address2(get_field('image'));

然后更新你的功能......

function wpcf7ev_verify_email_address2($image, $wpcf7_form)
{
    $email_footer = '<div style="font-size:16px;font-weight:bold;margin-top:20px;">Regards,<br/>';
    // get the image from the passed in image function.
    $email_footer .= '<img src="' . $image['url'] . '" width="100%"  alt="' . $image['alt'] . '"/></div>';
    $email_footer .='<div style="display:none;">' . generateRandomString() . '</div>';
}

或者,第二种方式,如果您要调用函数来修改某个动作或其他内容,则必须从ACVF设置中指定的页面ID /选项页面中获取图像。这会使你的功能看起来像这样:

function wpcf7ev_verify_email_address2($wpcf7_form)
{
    // get image acf field from page with id 1
    $image = get_field('image', 1);

    // or get image from acf field on options page
    // $image = get_field('image', 'options');

    $email_footer = '<div style="font-size:16px;font-weight:bold;margin-top:20px;">Regards,<br/>';
    $email_footer .= '<img src="' . $image['url'] . '" width="100%"  alt="' . $image['alt'] . '"/></div>';
    $email_footer .='<div style="display:none;">' . generateRandomString() . '</div>';
}

以上所有假设您的功能正在按预期工作,您需要帮助抓取ACF字段,并上传图像。如果需要,您可以在if语句中包含get_field的声明。