Добрый день друзья.
Мне часто задают вопрос, как разместить форму подписки FeedBurner под каждым постом.
Для решения этой задачи есть несколько вариантов:
Первый способ — добавление формы подписки в плагин.
Этим способом можно воспользоваться если Вы на своем блоге используете плагин Social Share Buttons для вывода кнопок социальных сетей, или любой подобный, который позволяет редактировать текст перед выводом кнопок.
Я буду рассказывать как это сделать для плагина Social Share Buttons.
В Админ панели входим в пункт Share Buttons -> Главные настройки плагина.
И в разделе «Текст перед социальными кнопками» в поле Ваш текст, перед самим текстом, вводим код формы полученной на FeedBurner:
<form style="border:1px solid #ccc;padding:3px;text-align:center;" action="http://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=yourfeed/name', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true"> <p style="color: #1D2C2F; font-weight: normal; font-size: 14px;">Хотите быть в курсе, и получать новые статьи на свою эл. почту?</p>
<p><strong>Введите адрес эл.почты:</strong></p>
<p><input type="text" style="width:140px" name="email"/></p>
<input type="hidden" value="yourfeed/name" name="uri"/>
<input type="hidden" name="loc" value="ru_RU"/>
<input type="submit" value="Да, хочу быть в курсе!" />
</form>
<br />
И нажимаете кнопку «Сохранить изменения». И все, форма добавляется перед выводом текста для блока кнопок социальных сетей.
Единственный недостаток этого способа заключается в том, что форма подписки FeedBurner будет выводится вместе с блоком социальных кнопок везде, даже на страницах сайта, если выбрана эта функция. Поэтому при использовании данного способа, кнопки соц. сетей лучше всего отображать только в постах.
Второй способ состоит в использовании коротких кодов.
Эта функциональность WordPress позволяет вызывать определенную функцию непосредственнов посте.
Для реализации данного способа пишем саму функцию в файле function.php (функции темы). Проще всего это сделать в административной панели Вашего блога в пункте меню «Внешний вид -> Редактор», выбрав соответствующий файл для редактирования:
function feedBurnerForm() {
return '<form style="border:1px solid #ccc;padding:3px;text-align:center;" action="http://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open(\'http://feedburner.google.com/fb/a/mailverify?uri=yourfeed/name\', \'popupwindow\', \'scrollbars=yes,width=550,height=520\');return true">
<p>Хотите быть в курсе, и получать новые статьи на свою эл. почту?</p>
<p><strong>Введите адрес эл.почты:</strong></p>
<p><input type="text" style="width:140px" name="email"/></p>
<input type="hidden" value="yourfeed/name" name="uri"/>
<input type="hidden" name="loc" value="ru_RU"/>
<input type="submit" value="Да, хочу быть в курсе!" />
</form>';
}
add_shortcode('frmFeedBurner','feedBurnerForm');
Обратите внимание на то, что в этом случае все одинарные кавычки, расположенные между тэгами <form> и </form>, должны быть заэкранированны, т.е. перед каждой одинарной кавычкой должен располагаться символ «\» (обратный слэш), как в приведенном примере.
Теперь для вывода формы подписки, достаточно в нужном месте статьи ввести специальный код [frmFeedBurner], и при публикации статьи в этом месте будет выводится форма подписки FeedBurner
К недостатку данного способа следует отнести то, что каждой раз, при написании статьи, придется указывать место вывода формы подписки FeedBurner вручную. Но это дает и преимущество, позволяя выводить форму подписки FeedBurner в любом месте, хоть вначале, хоть в середине статьи.
Еще один способ — это использование шаблона страницы.
Для реализации данного способа нужно в административной панели Вашего блога в пункте меню «Внешний вид -> Редактор» выбрать для редактирования файл Одна страница (single.php), так как именно он отвечает за отображение статьи полностью.
И в нужном месте, как правило это после вызова функции get_template_part(‘content’, ‘single’), выставить код формы подписки FeedBurner, заменив в ней все двойные кавычки одинарными, как в следующем примере:
while (have_posts())
{
the_post();
get_template_part('content', 'single');
echo "<form style='border:1px solid #ccc;padding:3px;text-align:center;' action='http://feedburner.google.com/fb/a/mailverify' method='post' target='popupwindow' onsubmit='window.open('http://feedburner.google.com/fb/a/mailverify?uri=yourfeed/name', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true'><br />
<p>Хотите быть в курсе, и получать новые статьи на свою эл. почту?</p><br />
<p><strong>Введите адрес эл.почты:</strong></p>
<p><input type='text' style='width:140px' name='email'/></p>
<input type='hidden' value='yourfeed/name' name='uri'/>
<input type='hidden' name='loc' value='ru_RU'/>
<input type='submit' value='Да, хочу быть в курсе!' /><br />
</form>";
comments_template();
}
Конечно же есть и другие способы выводить форму подписки FeedBurner после каждой статьи, но они или более сложные, или требуют использования плагинов.
А как Вы решили эту задачу? Расскажите об этом в комментариях!
Всего Вам доброго.
Замечательная статья! Все сделала, как Вы описали по первому способу. Получилось! Одно лишь беспокоит, две верхние строчки и рамка для емейла сдвинуты к левому краю, а кнопка «Да, хочу» почему-то в центре. Подскажите, как это исправить?
Спасибо.
Спасибо, все сделала, вставила код перед комментариями, получилось! А не могли бы вы подсказать , как сделать форму подписки с красивым оформлением и картинкой?