Здравствуй, уважаемый друг!

Кажется, ты используешь AdBlock. Этот проект развивается и существует за счет доходов от рекламы.
Добавь, пожалуйста, нас в исключения.

Спасибо за понимание.

Создать скрытые поля для Contact Form 7

Автор: в категории Статьи о php 5 комментариев

Плагин Contact Form 7 является одним из самых популярных модулей для WordPress для создания формы обратной связи. Тут просто создаются и редактируются поля, настраивается формат письма и многое другое. НО! К сожалению, не знаю почему, разработчики решили не добавлять скрытый тип поля (<input type=»hidden» …>).

Для чего он нужен? Ну например чтобы передавать данные о пользователе (IP, браузер и т.п.), данные о странице откуда отправили форму, или откуда перешли чтобы отправить форму (какая страница поспособствовала переходу в раздел контактов) и еще куча возможных применений!

Все это вы можете себе позволить, написав просто обработку нового shortcode (тега, шорт кода) в шаблоне контактной формы. По-умолчанию существуют такие теги как text, email, textarea, которые также сопровождаются параметрами: обязательное или не обязательное поле и многое другое.

Теперь мы создадим новый тег hidden и в шаблоне добавим его как обычный тег с именем [hidden inputName]. Само имя тега inputName мы внесем в тело нашего сообщения. И остается только в файле functions.php прописать следующий код для обработки shortcode‘а:

// Register new shortcode for getting pages where contact form was send
function hidden($tag) {
    if ( ! is_array( $tag ) )
        return '';

if($tag['name'] == "referer"){
    $pageURL = 'http';
    if ($_SERVER["HTTPS"] == "on") {
        $pageURL .= "s";
    }
    $pageURL .= "://";
    if ($_SERVER["SERVER_PORT"] != "80") {
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    } else {
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }
    $html = '<input type="'.$tag['basetype'].'" name="' . $tag['name'] . '" value="'.$pageURL.'" />';
}else{
    $html = '<input type="'.$tag['basetype'].'" name="' . $tag['name'] . '" value="" />';
}
    return $html;
}
if(function_exists("wpcf7_add_shortcode")){
    wpcf7_add_shortcode('hidden', 'hidden', true);
}

В данном примере функции рассмотрен вариант отправки адреса страницы, откуда была отправлена форма, в случае если поле называется referer, в противном случае будет выводиться пустое скрытое поле, таким образом вы можете подвязать для себя по названию несколько скрытых полей.

На этом вроде все, если возникают вопросы — пишите в раздел вопросов и ответов, пишите комментарии, ставьте лайки!
Удачного коддинга!

comments powered by HyperComments

Не забудь подписаться на группы в социальных сетях, чтобы всегда быть вкурсе последних событий!

Александр Стулиев
2016-03-06 18:56:22
Приветствую! А как сделать, чтобы с contact Form отправлялась на почту ключевая фраза и запрос который ввёл пользователь??
Nikita Sp
2016-03-06 19:03:27
Создать соответствующие поля и добавить их в форму письма.
Александр Стулиев
2016-03-06 20:45:47
functions.php добавил код, в шаблоне формы пишу строку [hidden inputName], в письме строку inputName, в письме приходит просто текст inputName, что не так делаю??? Не шарю, но очень надо, подскажите подробней, будьте добры!)
Nikita Sp
2016-03-07 12:20:06
В поле тела формы вставляете [hidden your-input-name] В поле тела письма вставляете [your-input-name] Там же по умолчанию пример есть.
Александр Стулиев
2016-03-08 18:55:45
Спасибо за ответ, но не пашет... Хоть убей, видать руки кривые)))
Вверх!

Меню блога

Категории блога

Облако тегов