使用联系表 7 发送的电子邮件显示 <a> 标记代码不是格式化的链接

Posted

技术标签:

【中文标题】使用联系表 7 发送的电子邮件显示 <a> 标记代码不是格式化的链接【英文标题】:Email sent using Contact Form 7 shows <a> tag code not a formatted link 【发布时间】:2018-09-17 00:29:55 【问题描述】:

我正在使用带有此插件“Contact Form 7 Dynamic Text Extension”的 Contact Form 7 插件,它允许您使用简码将数据添加到您的电子邮件和表单元素 https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/

我创建了一个短代码,它基于当前页面在发送的自动回复电子邮件中添加了指向 PDF 文件的链接。

function get_pdf_link( $atts ) 
    global $post;

    switch ($post->post_title) 
        case 'Agency':
            return '<a rel="nofollow" target="_blank" href="http://example.com/qcmresearch/wp-content/uploads/2018/04/Agency-Evaluation-Checklist.pdf">Download the Agency Evaluation Checklist</a>';
            break;
        case 'Signup':
            return '<a rel="nofollow" target="_blank" href="http://example.com/qcmresearch/wp-content/uploads/2018/04/signup.pdf">Download the Signup Options</a>';
            break;
        default:
            return '<a rel="nofollow" target="_blank" href="http://example.com/qcmresearch/wp-content/uploads/2018/04/Agency-Evaluation-Checklist.pdf">Download the Agency Evaluation Checklist</a>';
            break;
    

add_shortcode( 'CF7_EBOOK_DOWNLOADFILE', 'get_pdf_link' );

短代码中的值已正确添加到自动回复电子邮件中,但 a 标签未格式化为 html 并显示为代码:

<a rel="nofollow" target="_blank" href="http://example.com/wp-content/uploads/2018/04/Agency-Evaluation-Checklist.pdf">Download the Agency Evaluation Checklist</a>

应该是这样的格式 下载机构评估清单

我在 Wordpress 中手动将相同的链接添加到邮件正文中,它看起来不错,因此短代码或我添加链接的方式破坏了格式。

更新: 我检查了开发人员工具@Yahoo 邮件中的&lt;a&gt; 标签,它被括在括号中,不知道为什么"&lt;a ...&gt;Download the Agency Evaluation&lt;/a&gt;"

【问题讨论】:

我猜你的标签字符串不知何故被转义了。 【参考方案1】:

使用 html_entity_decode 函数:

function get_pdf_link( $atts ) 
global $post;

switch ($post->post_title) 
    case 'Agency':
        return html_entity_decode('<a rel="nofollow" target="_blank" href="http://example.com/qcmresearch/wp-content/uploads/2018/04/Agency-Evaluation-Checklist.pdf">Download the Agency Evaluation Checklist</a>');
        break;
    case 'Signup':
        return html_entity_decode('<a rel="nofollow" target="_blank" href="http://example.com/qcmresearch/wp-content/uploads/2018/04/signup.pdf">Download the Signup Options</a>');
        break;
    default:
        return html_entity_decode('<a rel="nofollow" target="_blank" href="http://example.com/qcmresearch/wp-content/uploads/2018/04/Agency-Evaluation-Checklist.pdf">Download the Agency Evaluation Checklist</a>');
        break;


add_shortcode( 'CF7_EBOOK_DOWNLOADFILE', 'get_pdf_link' );

【讨论】:

以上是关于使用联系表 7 发送的电子邮件显示 <a> 标记代码不是格式化的链接的主要内容,如果未能解决你的问题,请参考以下文章

无法从联系表 7 发送电子邮件

Wordpress 联系表 7:我可以发送 2 封不同的电子邮件吗?

付款后发送邮件 paypal 联系表 7

发送电子邮件前打印一些数据(联系表格7)

Wordpress 联系表 7 插件提交到特定页面

联系表格 7 在电子邮件正文中添加图像