Добавить пользовательский текст в контактную форму 7 с помощью шорткода WordPress - PullRequest
0 голосов
/ 07 февраля 2019

Я использую Contact Fom 7 и мне нужно добавить собственный текст в форму.

Я получаю пользовательский текст с помощью PHP из подполя Advanced Custom Fields.Я знаю, что для этого есть дополнительный плагин, который называется «Контактная форма 7 Динамическое расширение текста» (https://de.wordpress.org/plugins/contact-form-7-dynamic-text-extension/). Но поскольку текст находится в подполе, я не могу его использовать.

Итак, чтоМне нужен текст в скрытом поле ввода или в сгенерированном электронном письме формы.

То, что я считал пользовательским параметром в самом шорткоде CF7, например:

[contact-form-7 id="1" title="Title" customtext="Text"]

Возможно ли это?

Или возможно использовать заголовок и добавить его в поле ввода или в электронное письмо формы?

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

у вас есть поле с именем «customtext» для адреса электронной почты получателя:

[text* customtext]

Чтобы получить значение по умолчанию из атрибутов шорткода, добавьте параметр default: shortcode_attr в тег формы:

[text* customtext default:shortcode_attr]

Затем добавьте атрибут с тем же именем, что и у поля (в данном случае «customtext») в шорткод для контактной формы:

[contact-form-7 id="123" title="Contact Form" customtext="xxxxxx@example.com"]

, вам необходимо заранее зарегистрировать атрибут.

Добавьте следующий фрагмент кода в файл functions.php вашей темы:

add_filter( 'shortcode_atts_wpcf7', 'custom_shortcode_atts_wpcf7_filter', 10, 3 );

function custom_shortcode_atts_wpcf7_filter( $out, $pairs, $atts ) {
    $my_attr = 'customtext;

if ( isset( $atts[$my_attr] ) ) {
    $out[$my_attr] = $atts[$my_attr];
}

return $out;
}

Ссылочная ссылка: https://contactform7.com/getting-default-values-from-shortcode-attributes/

0 голосов
/ 07 февраля 2019

Сначала добавьте поле в php

function cf7_add_my_field(){

    global $post;
    return $post->ID; // Here instead of returning post id, get your meta/submeta field and return that value.
}

add_shortcode('CF7_ADD_MY_FIELD', 'cf7_add_my_field');

Теперь после этого добавьте в вашу форму следующее -

[dynamictext my-filed-name "CF7_ADD_MY_FIELD"]

Примечание: вам нужен плагин "Contact Form 7 Dynamic Text Extension", о котором вы уже упоминали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...