В электронном письме, отправленном с использованием контактной формы 7, отображается код тега ‹a›, а не форматированная ссылка

Я использую плагин Contact Form 7 с этим аддоном «Contact Form 7 Dynamic Text Extension», который позволяет вам использовать короткие коды для добавления данных в ваши электронные письма и элементы формы 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, и это выглядело нормально, поэтому есть что-то с шорткодом или тем, как я добавил свою ссылку, что нарушает форматирование.

Обновление: я проверил тег <a> в инструментах разработчика @ Yahoo mail, и он заключен в круглые скобки, не знаю почему, хотя "<a ...>Download the Agency Evaluation</a>"


person Benjamin    schedule 06.04.2018    source источник
comment
Я предполагаю, что ваша строка тега каким-то образом сбежала.   -  person wayneOS    schedule 07.04.2018


Ответы (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' );
person Hetal Chauhan    schedule 07.04.2018