возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-13 в теме: Техническое SEO
Запросто с WordPress создание и продвижение сайтов ATs media

Как на сайте настроить форму подписки сервиса рассылок, сделаем более валидной…

Настроим форму подписки нашего сервиса рассылки совершенно адаптивной и валидной!

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

Конечно, в выборе каждый волен! и об этом сегодня говорить не станем. А вот как настроить и адаптировать, чтобы форма подписки на сайт обновления была красивой и, что важнее, валидной, – подробно разберёмся. 1- большинство форм подписки имеют невалидный код, и более того с множеством лишней атрибутики – вот весь этот код и приведём в порядок: (так возможно настроить форму любого сервиса рассылок)


 

 

…итак:

 

форма подписки на сайт

 

 

 

 

…предоставляемая сервисами, зачастую имеет очень невалидный код…

Но это совершенно не говорит о некачественных услугах…

 

Любой код предоставляется на широкую аудиторию и имеет множество вариантов настроек: кто-то регулирует стилистику этак, а кто-то эдак – под себя. Но в любом случае (скажу так) в исходном примере кода формы подписки остаются незадействованные атрибуты настроечных тегов… а значит – предоставляемый код (желательно) подстраивать. Вот и всё!

 

 

…примерно так будет выглядеть классическая форма подписки, которую предлагают сервисы:

 

 

как поправить input строки

продолжить чтение о placeholder

 

 

Как видите форма пописки не совсем симпатичная) или совсем не симпатичная – мне этот дизайн окна не нравится! и более того, во некоторых сервисах – оно не адаптивное… сами знаете что это значит в наш век-то адаптации… ))

 

 

А значит вопрос: как сделать так, чтобы

 

 

 

форма подписки на рассылку была красивой и валидной

 

 

 

остаётся весьма актуален! А раз так, давайте адаптацией и займёмся…

 

 

Спешу уверить: в нашей предстоящей правке страшного ничего нет, кроме того, что придётся немного поработать – функциональную составляющую кода трогать не станем (не рекомендуется), а разберёмся с тем:

 

 

 

 

как настроить форму подписки – input строки html

 

 

 

 

…в этих примерах в основном и скрываются закавыки.

 

 

 

<input maxlength=”255″ name=”Contact[email]” class=”field_value form_margin” placeholder=”Ваш E-mail *” type=”text”>

 

И…

 

<input value=”1″ id=”required_fields_name” name=”required_fields[name]” type=”hidden”><input class=”field_value” maxlength=”255″ name=”Contact[name]” placeholder=”Ваше имя *” type=”text”>

 

 

 

к слову:

Совершенно просто можно настроить код сервиса FeedBurner, но – он достаточно простой и вы с ним сами разберётесь, если изучите эту статью. Посмотреть пример можно здесь таким образом и под вашу стилистику всё замечательным образом настроится.

 

 

Ноне рассмотрим пример такого сервиса как автовебофис https://autoweboffice.com/  ибо в его форме подписки присутствуют два окошка (так было некогда и в смарте): формочка ввода емейла и имени – это полезнее в плане изучения…

…и я этот сервис немного изучил, посмотрел код, и, на основе своего смартовского, причесал и автовебовский до приличного, – теперь делюсь решением.

 

 

сам им пользоваться пока что не стал… ибо не совсем разобрался с сеткой оплаты (мутно там как-то) или я что не понял)) – возможно в скором времени перейду.

Ну, ладно, к делу:

 

 

 

 

делаем валидным html код формы подписки на рассылки

 

 

 

 

Что нам нужно выполнить… 1 – вычистить код от встроенной css стилистики (перенесём значения в основной стилевой файл темы)

…далее – поубираем лишнюю теговую атрибутику…

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

 

 

 

Приступим:

 

Берите код в панели управления своего сервиса рассылок и переносите, скажем, в нотепад – в нём и будем править (а в прочем, кому как удобнее).

 

 

 

Ниже показываю настроенный вариант кода формы подписки.

 

 

Посмотрите внимательно на функцию связки окон подписки нашего сайта с сервисом (функция связки в самом верху):

основные нужные нам значения выделены жирным красным (ищите примеры в своём коде) если у вас какой-то иной сервис рассылки, не пугайтесь: в принципе всё аналогично!

 

 

 

<div class="showbiz">

<script type="text/javascript" src="https://autoweboffice.ru/js/jquery.mask.js"></script>
<script type="text/javascript">
$(function() {$("body").on("submit", ".form_newsletter", function() {var message = "Укажите значения всех обязательных для заполнения полей!";
var ret = 0;if($(".name-block .field_value", this).val().length < 1){$(".name-block .field_value", this).css("border-color","red");ret = 1;}if($(".email-block .field_value", this).val().length < 1){
$(".email-block .field_value", this).css("border-color","red");ret = 1;}if(ret == 1){alert(message);return false;}});$(".phone-block input", this)
.keydown(function (e) {if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||(e.keyCode == 65 && ( e.ctrlKey === true || e.metaKey === true ) ) ||
(e.keyCode >= 35 && e.keyCode <= 40)) {return;}if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {e.preventDefault();}});$('body')
.on('change', '.surname-block input, .name-block input, .patronymic-block input, .phone-block input, .email-block input' , function() {$(this).css('border-color','');});$('#Contact_date_of_birth')
.mask('00-00-0000', {placeholder: 'ДД-ММ-ГГГГ'});});</script>

<div class="show-c"><form class="form adpage_form" target="blank" action="https://адрес подписной странички...;lg=ru" method="post" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8" >

<br />

 
<!-- регулировка инпут -->
 

<input value="1" id="required_fields_name" name="required_fields[name]" type="hidden"><input class="field_value" maxlength="255" name="Contact[name]" placeholder="Ваше имя *" type="text">
<input value="1" id="required_fields_email" name="required_fields[email]" type="hidden">
<input maxlength="255" name="Contact[email]" class="field_value form_margin" placeholder="Ваш E-mail *" type="text">


<input class="send" value="ВПЕРЁД" type="submit">
<span class="contex">Почта в тайне</span>
<!-- Обязательный параметр. Не удалять и не изменять! -->
<input value="1" id="form_newsletter_id_newsletter" name="Contact[id_newsletter]" type="hidden"> <!-- API код канала рекламы --> <input value="0" id="form_newsletter_id_advertising_channel_page" name="Contact[id_advertising_channel_page]" type="hidden">
</form></div></div>

<!-- регулировка инпут -->

 

 

Нам нужно совершенно повычёркивать всякие style=”значения” в строчках инпут кода, а вместо них задать имена селекторов css:

 

 

Напоминаю, – использовать css в html коде  не желательно ввиду всевозможных правильных настроек сайта, а желательно же их перенести в основной файл стилей. Чем и займёмся… (сравнивайте со своим полученным кодом-подписки, который, к слову сказать, будет много больше показанного выше)

 

 

Итак:

Основной селектор div-контейнера формы подписки:  showbiz (его закрывающий div самый последний элемент кода перед комментарием).

И, если у кого будет подложка (фон формы), например, картинка, то можно добавить в свои ccs селекторы – showbiz img.

 

 

Далее  прописываем имена селекторов css, которым зададим значения свойств в файле стилей style.css.

 

1- (в нашем случае, через пробел от form) adpage_form

 

2 – добавим селектор show-c – закрывающий тег </div> предпоследний (необходим для коррекции поля ввода емейла).

 

3 – send

 

4 – в инпуте E-mail к field_value (об этом значении расскажу ниже)  добавить (через пробел) form_margin

 

Вот так:

 

 

class="field_value form_margin" placeholder="Ваш E-mail *"

 

 

 

…и, конечно же, которые забыли при настройках в консоли сервиса подписок указать атрибут target="blank" – указываем (допишите его, если нужно) – чтобы страничка обработки подписки открывалась в новом окне. Прописывать в начальной <form class… там где ссылка перехода на страничку вашего сервиса рассылок (см. код выше).

 

 

 

Теперь обратите внимание на связывающие селекторы:
.email-block  В особенности на .field_value  – этот селектор при настройке любых форм подписки нужно использовать в своём цсс: именно такой, который указан в оригинальном коде формы – просто заместо вашего уже используемого в селекторах имени пропишите оригинальный, иначе – когда на вашем сайте пользователь введёт свои данные в форму и кликнет “подписаться” его перебросит на бестолковую страничку, где будет сообщение о том что “вы забыли ввести свои данные”.

Юзеру нужно будет снова писать… а это нехорошо с нашей стороны по отношению к гостю!

 

 

Понимаете!? если вы выберете какой-то иной сервис, вам всего-то нужно будет в вашем файле стилей заменить имя селектора на тот что в коде (искать в цикле функций): как видите в нашем случае это field_value. И коли вы сейчас подстраиваете код иного сервиса…

 

не забывайте: в коде имя будет иное. Нужно заменить имя в показанном ниже селекторе css.

 

 

 

Ну вот вроде почти всё о теории…

 

Теперь практично прописывайте к себе, например, в сайдбар тестового сайта, отредактированный код вашего сервиса…

 

 

 

Напоминаю: пугаться этой работы не стоит, правда – всё достаточно просто – это вы поймёте… когда разберётесь в описанном способе нынешней статьи.

 

 

 

Как только разберётесь с html кодом, можно прописать селекторы в свой файл стилей style.css.

 

 

 

 

как настроить адаптивные стили css формы подписки на рассылку

 

 

 

 

Вот и стили:

 

Это совершенно настроенный вариант (но, как понимаете, его всё-таки придётся подстраивать на свой скус. Я его дал как пример).

Можете перенести к себе… связать с формой подписки… а уж потом заняться тонкой регулировкой под стилистику своего сайта.

 

 

 

/* CSS стили */
.showbiz{background-color:rgba(194,240,255,0.2);max-width:335px;border:2px dashed #4ee0ff;box-sizing:border-box;padding:8px;margin:auto}
.showbiz img{display:block;margin-right:auto;margin-left:auto;width:100%}
.showbiz a{font-size:10px}
.show-c{text-align:center}
.adpage_form{width:100%}
.form__field{margin-top:7px;border:2px solid #c1c1c1;border-radius:6px;background:#fff;padding:2px;width:94%;font-family:'Open Sans',Arial,sans-serif;font-size:12px;max-width:307px}
.form_margin{margin-bottom:10px}
.send{font-weight:700;color:#002AFF;width:97%;height:20pt;font-size:16px;font-style:italic;font-family:intro;text-decoration:none;border:none;outline:none;border:1px solid #A7A7A7;margin:auto;background:linear-gradient(#FFF,#C2D0DA);display:block;line-height:1.2;border-radius:8px;border-bottom:3px solid #80B3FF;text-shadow:0 1px #FFF;cursor:pointer}
.send:active{border:none}
.send:hover{border:2px solid #C1C1C1;border-bottom:2px solid #80B3FF;font-size:15px;background:linear-gradient(#DBDBDB,#FFF)}
.contex{color:#7D7D7D;font-size:11px;line-height:1;margin-top:7px;text-align:center}
/* CSS стили */

 

 

 

И как только html будет вычищен, а в файл стилей помещены нужные селекторы – проверяйте отработку кода на сайте!

 

…Смотрите подсказки валидатора об ошибках (например, этого http://validator.w3.org/) – подстраивайте не спеша, чтобы ошибок не было.

 

Обращайте внимание на пустые атрибуты в инпут – input – цикле placeholder="" и т.д. смело удаляйте их ! ИБО я  уже прописал в инпут строках показанного кода – placeholder=”Ваше имя *”, а значит должно быть и у вас.

 

 

Если вернётесь к фотке формы подписки, то увидите “имя” и “е-маил” выведены за окошки ввода личных данных подписчика, а это значит что в аригинальном КОДЕ placeholder="" пустой!!

Я же подсказки “Введите имя” и “e-mail” поместил внутрь окошек: они пропадут как только подписчик введёт первую букву своего имени или эл/п… это делается placeholder="Ваше имя" соответственно. А вот пустые плейсхолдер нужно удалить.

И так далее…

 

 

 

Может быть, кто-то решит подключить медийную обработку для мобильников…

 

@media only screen and (max-width:375px) {
.form__field{width:auto}
}

 

…и т.д. и т. п.

 

 

 

Финальное:

 

что-то типа этого должно получиться: вам останется подстроить…

 

 

адаптивные стили css формы подписки на рассылку

…тем, кто заметит шутку в форме подписки – приз!!

 

 

Под занавес:

 

…что вам нужно было сделать…

 

1 – прописать имена селекторов в html коде, и как следствие удалить ненужные строчные стили цсс (к этому же, почистить код от излишней инпут атрибутики).

 

2 – прописать в своих css стилях шаблона предложенный мною код.

 

3 – тестировать, подстраивая…

 

 

 

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

 

 

Но !! если вдруг организовались трудности, обращайтесь…

 

…или пишите в комментариях.

 

 

 


На этом моя повесть нынче решительно окончена...!


 


подписка feedburner Online консультация по настройкам и созданию сайтов на WordPress


!..подписываясь на обновления mihalica.ru
...расстаёмся с невежеством..!


 

 



Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©


  1. Прикольно и в общем понятно. Но мне лучше как в анекдоте :”…Какие румбы, ты пальцем покажи.”
    Потому как с кодом вроде и дружу, но не настолько плотно :)

    Ответить - Андрей

    • Ну, не знаю, куда уж понятнее… иначе бестолково и длинно получится
      Хотите, пришлите мне свой “грязный код” на почту, я Вам его почищу к завтрему, в качестве бонусной помощи как первому комментатору статьи и нынешних праздников. Благо сейчас как раз одной даме “форму” правлю)
      CSS придётся подгонять Вам самому (дивы проставлю – пример подкину).

      Ответить - Михаил

      • Просто например я расписываю читателям вот таким образом. Грубо говоря разжовую и ложу в рот.

        Ответить - Андрей

        • Ну, возможно, Вы и правы!
          Я некоторые статьи подобно-просто пытался на этом блоге писать, но нынче блогинг как-то не айс: мало кому нужно, ибо блоги пытаются замастырить на халявных “готовых” площадках. Поэтому и перешёл на средней уровень знаний мастера, так сказать… который пока жив))

          Ответить - Михаил

  2. Михаил, у меня вот такая проблемка. Сделал на сайте форму, а она кривая какая-то. Вот, посмотрите: krestostrov.com Внизу всплывает. Поля “Имя” и “E-mail” двухэтажные и длиннющие. Если на лису с шакалом щёлкнуть, откроется другое окно, но и там поля двухэтажные. Что с кодом делать ума не приложу. Помогите, пожалуйста! Я в этих кодах ни черта не понимаю, а делать-то всё равно приходится. Вот код всего этого безобразия:

    Ответить - Александр

  3. Код не отобразился. Можно мне вам его на e-mail сбросить?

    Ответить - Александр

    • Сбрасывайте (а код /важные места хотя бы/ нужно выделять – кнопочки такие над формой комма)

      Ответить - Михаил

      • Нет, извините, плагина optincrusher в депозитарии WP нет. Устанавливать себе на тестовый сайт по ссылке скачивания не стану.
        Я с подобными плагинами не работаю… я не хочу сказать, что он плохой и т.п. но – все эти плагины усложнены и бестолковы…
        Установите “подписку” чисто с какого-нить сервиса рассылок…
        Зачем Вам этот плагин? не поддерживаемый разработчиками…

        ps|
        я Вам там вариант решения “с окнами” в коде, отправил по почте.

        Ответить - Михаил

  4. Михаил, Вы – СПЕЦ! Здорово! Двухэтажность пропала! Можете посмотреть: krestostrov Теперь буду думать, как в одну строчку сделать и уменьшить длину окон. Там ведь у меня ноль длины стоит. И всё равно окна длинные почему-то.
    Спасибо ОГРОМНОЕ! Вы первый человек, которому удалось решить задачку. Все мои знакомые компьютерщики решить её не смогли. Хотя кто только и чего только не предлагал. Что-то менялось, но всё равно получалось криво, и двухэтажность оставалась.
    Спасибо!

    Ответить - Александр

    • Спасибо, Александр, за столь высокую оценку!

      Михаил, Вы — СПЕЦ!

      Я это знаю))

      Но Вы это слишком)) — в Вашей задачке сложного ничего нет…
      Теперь Вам нужно работать с css — окна и их ширину решайте % (процентами)
      Заверните всё в span (либо div) и присвойте классы — в статье описано как это реализуется.
      …и — всё получится как Вам нужно.
      Желаю удачи и — спрашивайте, коли возникнут вопросы…

      Ответить - Михаил

  5. Спасибо! Буду дерзать.

    Ответить - Александр

    • Не за что)

      Ответить - Михаил

  6. Михаил, всё получилось! Можете посмотреть: krestostrov

    Ответить - Александр

  7. Михаил, а как мне сделать, чтобы при заполнении поля, исчезала надпись, котороя в нём находится? Ну, например, чтобы при установки курсора в поле “Ваше имя”, эта надпись пропадала.

    Ответить - Александр

  8. И вопрос на засыпку. Можно ли изменить цвет надписи на кнопке? На этот каверзный вопрос мне не смог ответить никто. Сошлись на мнении, что это невозможно. А, блин, хочется!

    Ответить - Александр

    • Попробуйте плайсхолдером placeholder="Ваше имя *" e-mail подсказки имен вывести: пояснения пропадут автоматом, как только подписчик станет набирать своё имя эл/п – пример кода ниже:

      <input type="text" style="width:235px;" name="wysija[user][abs][email]" placeholder="Ваш e-mail:*" title="Ваш e-mail:" value="" />

      Возможно, title="Ваш e-mail:" нужно! будет убрать!
      Аналогично и с ИМЕНЕМ.
      Ну разве что мальца поработать с css, а так нормально!!
      А вот подписаться на Вашу рассылку у меня не получилось !! почему-то??

      Ответить - Михаил

  9. Потому что я ещё не соединил эти два плагина. Займусь этим в понедельник. За подсказку спасибо!

    Ответить - Александр

  10. Да, Михаил, вы, к сожалению, правы. Не хотят эти два плагина работать в паре. Optincrusher переделывает под себя код формы, которую генерирует MailPoet Newsletters, выдавая свой код (который мы и приводили в божеский вид), а на этот новый код MailPoet Newsletters просто не реагирует. К сожалению. Спасибо за помощь.

    Ответить - Александр

    • О, да!

      не реагирует. К сожалению.

      …это к лучшему!! Нужно верить добрым советам))
      И плагины нужно использовать только качественные, ну или писать самому…
      В плагинах по сути нет ничего плохого… однако, наши необдуманные действия ведут к неприятным последствиям а будущем!
      Устанавливайте обычную форму подписки, и всё будет ок.
      Обращайтесь, Александр, если что…

      Ответить - Михаил

  11. Обязательно! Спасибо!

    Ответить - Александр

  12. Можете глянуть на родную форму подписки MailPoet Newsletters. Она сейчас в левом верхнем углу страницы. Сайт: krestostrov И откорректировать её – никак! Нет такой возможности. Разве что открыть плагин в Notepad++. Но что-то не хочется.

    Ответить - Александр

  13. Михаил подскажите,куда лучше вставлять код всплывающей формы на сайте. Я так понимаю надо вставлять в подвал, а в подвале именно в конкретное место или в любое.

    Ответить - Сергей

    • Здравствуйте Сергей!
      Если Вы имеете в виду код JS, то да – в футер – где-нить перед тегом </body> – а вообще это выбирается опытным путём в зависимости от шаблона.
      И в некоторых случаях js логичнее добавлять через “еот” в файле функций:

      function my_functionss_mihats(){
      echo <<<EOT
      <script src="/wp-content/themes/шаблон/js/имя.js"></script>
      EOT;
      }
      add_action('wp_footer', 'my_functionss_mihats');

      wp_footer – как видите.
      …имя функ. произвольное…

      Ответить - Михаил

      • Спасибо, понят теперь.

        Ответить - Сергей

  14. Михаил, отличный материал. У меня стоит от Сендпульс стандартная. Пишите нада код чистить. Даже не задумывался об этом. Надо будет заняться на досуге. Спасибо!

    Ответить - Павел

    • Здравствуйте Павел!
      В общем, это может быть и необязательно (если в коде не особливо разбираешься) – а так да – чистить нужно! в общем – это логично (если стремимся к чистоте)) В автоматическом коде всегда будут оставаться лишние теги и пр.
      Спрашивается: зачем они нужны?
      Правильно – они не нужны.
      Спасибо, за комментарий …и мнение…

      Ответить - Михаил

  15. Работа не волк, в лес не убежит !

    Ответить - Работа

  16. А я предпочитаю не возиться с программным кодом, а через плагин ru.wordpress.org/plugins/ucalc/ формы создаю

    Ответить - Юрий

    • Ну, можно как-нить и так…

      Ответить - Михаил

  17. Очень интересно и понятно написано, однако я разобраться не смогла. Пока начала использовать stepform.io но начала изучать html с js и потихоньку стала вникать))

    Ответить - Елена

    • Здравствуйте, Елена!
      Изучайте, вникайте… это полезно!))
      спасибо за коммент…

      Ответить - Михаил

  18. Эта инфа была для меня полезна!

    Ответить - Владлен

  19. Спасибо большое!

    Ответить - Света