Я пытаюсь добавить контактную форму в шаблон страницы с контактной формой 7. Однако я хочу, чтобы адрес электронной почты приходил из пользовательского поля, которое я создал.
Код, который извлекает данные настраиваемого поля, таков:
<?php the_field('website_address'); ?>
Короткий код, который позволяет мне выбрать адрес электронной почты назначения на уровне шаблона:
<?php echo do_shortcode('[contact-form-7 id="123" title="Contact Form" destination-email="xxxxxx@example.com"]'); ?>
Поэтому мне нужно добавить адрес_адреса в шорткод. Я пробовал следующее:
<?php echo do_shortcode('[contact-form-7 id="123" title="Contact Form" destination-email="<?php the_field('website_address'); ?>"]'); ?>
Но у него есть тег PHP внутри тега PHP, поэтому он не работает ...
Итак, я попробовал это:
<?php echo do_shortcode('[contact-form-7 id="123" title="Contact Form" destination-email="the_field('website_address')"]'); ?>
<?php echo do_shortcode('[contact-form-7 id="123" title="Contact Form" destination-email="get_field('website_address')"]'); ?>
<?php echo do_shortcode('[contact-form-7 id="123" title="Contact Form" destination-email=".get_field('website_address')."]'); ?>
<?php echo do_shortcode('[contact-form-7 id="123" title="Contact Form" destination-email="'.get_field('website_address').'"]'); ?>
Ни один из них не работает правильно, некоторые даже ломают страницу.
Я изо всех сил пытаюсь найти ответ, поэтому мне было интересно, может ли кто-нибудь просветить меня - я мог бы даже думать обо всем этом неправильно! Большое спасибо за просмотр
add_filter( 'shortcode_atts_wpcf7', 'custom_shortcode_atts_wpcf7_filter', 10, 3 );
function custom_shortcode_atts_wpcf7_filter( $out, $pairs, $atts ) {
$my_attr = 'destination-email';
if ( isset( $atts[$my_attr] ) ) {
$out[$my_attr] = $atts[$my_attr];
}
return $out;
}
Это со страницы: https://contactform7.com/getting-default-values-from-shortcode-attributes/