PHP + Wordpress + CF7 -> как добавить пользовательский HTML в span.wpcf7-form-control-wrap И НЕМЕДЛЕННО ПОСЛЕ input.wpcf7-form-control? - PullRequest
0 голосов
/ 17 марта 2020

Контакт Fom 7 - как добавить пользовательский HTML внутри span.wpcf7-form-control-wrap И НЕМЕДЛЕННО ПОСЛЕ input.wpcf7-form-control? Используя плагин 'Query Monitor', я обнаружил, что HOOK, который мне нужно изменить, находится внутри файла:

'/ wp-content / plugins / contact-form-7 / modules / text. php' а именно 'wpcf7_add_form_tag_text' hook

Мой код службы (я написал этот код внутри функций. php insite моей темы):

function test($html) {

$html = sprintf(
'<span class="wpcf7-form-control-wrap %1$s"><input %2$s />%3$s<span class="focus-input100-1"></span><span class="focus-input100-2"></span></span>',
sanitize_html_class( $tag->name ), $atts, $validation_error );
return $html;
}

add_filter('wpcf7_add_form_tag_text', 'test');

... но не работает

Ответы [ 2 ]

1 голос
/ 18 марта 2020

wpcf7_add_form_tag_text это не фильтр или ловушка, а скорее функция. Поэтому то, что вы пытаетесь, просто не сработает.

Я бы порекомендовал использовать jQuery для добавления ваших данных после.

Типичный вывод из формы контактной формы 7 такой, на переднем конце.

<span class="wpcf7-form-control-wrap your-name">
    <input type="text" name="your-name" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false" placeholder="First Name:">
</span>

В вашем редакторе форм CF7. Просто добавьте что-то вроде этого ниже. Это может быть даже после вашего тега [submit]. Это добавит <span class="focus-input100-1"></span> сразу после тега <input>, но все еще внутри оболочки wpcf7-form-control-wrap. Вы можете настроить имя ввода или добавить дополнительные строки в зависимости от имен тегов формы.

<script type="text/javascript">
     jQuery('input[name="your-name"]').after('<span class="focus-input100-1"></span>');
</script>

Результат выше выглядит следующим образом:

<span class="wpcf7-form-control-wrap your-name">
   <input type="text" name="your-name" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false" placeholder="First Name:">
   <span class="focus-input100-1"></span>
</span>
0 голосов
/ 17 марта 2020

попробуйте добавить строку здесь в редакторе форм

wordpress screenshot

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