Как оказалось, данная проблема не только не редкая, но даже напротив, весьма распространенная. Особенно актуальна данная проблема для владельцев блогов, где в самом шаблоне предусмотрена подписка на RSS поток с помощью e-mail. Конечно можно не тратить силы и решить проблему «The Feeds does not have subscriptions by email enabled» при помощи «брутфорса», тупо скопировав в свой шаблон предложенный Feedburner-ом код, или ссылку. Если же вы эстет и ваше чувство прекрасного визжит от негодования, видя изуродованный шаблон блога, тогда милости просим. У нас есть решение.
Наверняка многие уже видели такое сообщение. (рис.1)
Первое, что приходит в голову для решения, это залезть в настройки Feedburner и включить рассылки по e-mail. В аккаунте Feedburner закладка Publicize -> Email Subscriptions -> Activate (рис 2.)
Сделали? Отлично! Вот только не помогло.
Значит откладываем в сторону «брутфорсовый» мясницкий нож и беремся за скальпель. Для предстоящей операции нам потребуется скопировать в любой текстовый редактор код, предложенный Feedburner-ом (рис 3)
Код Feed burner
Из данного кода нам понадобятся две строчки:
эта (1)
onsubmit=»window.open(‘http://feedburner.google.com/fb/a/mailverify?uri=artofbusiness/AOB’, ‘popupwindow’, ‘scrollbars=yes,width=550,height=520′);return true»>
и вот эта (2)
<input type=»hidden» value=»artofbusiness/AOB» name=»uri»/><input type=»hidden» name=»loc» value=»en_US»/>
Само собой, что для вашего RSS-потока будет сгенерирован свой код и вместо «artofbusiness/AOB» вы увидите адрес вашей рассылки.
Теперь, найдите в вашем шаблоне WordPress код формы подписки на RSS поток с помощью e-mail. Для Art Of Business код формы нашелся в «сайдбаре» и выглядел примерно так:
<h2>Подписаться на рассылки</h2>
<div class=»box»>
<p class=»rssfeed»><a href=»<?php bloginfo(‘rss2_url’); ?>»>Подпишитесь через RSS Feed</a> и получайте обновления</p>
<p class=»emailfeed»><strong>Подпишитесь через email:</strong></p>
<form class=»feedform» action=»http://www.feedburner.com/fb/a/emailverifySubmit?feedId=<?=$opt['feedburner_id']; ?>» method=»post»>
<fieldset>
<input type=»text» name=»email» class=»feedemail» />
<input type=»submit» value=»Подписаться» class=»feedsubmit» />
<input type=»hidden» value=»http://feeds.feedburner.com/~e?ffid=<?=$opt['feedburner_id']; ?>» name=»url» />
<input type=»hidden» value=»<?=$opt['blog_title']; ?>» name=»title» />
<input type=»hidden» name=»loc» value=»<?=$opt['location']; ?>» />
</fieldset>
</form>
</div>
Как видите, в коде имеются 2 места, где форма обращается к Feedburner-у:
эта (3)
<form class=»feedform» action=»http://www.feedburner.com/fb/a/emailverifySubmit?feedId=<?=$opt['feedburner_id']; ?>» method=»post»>
и эта (4)
<input type=»hidden» value=»http://feeds.feedburner.com/~e?ffid=<?=$opt['feedburner_id']; ?>» name=»url» />
И, наконец, последний маленький шажок:
Берем те кусочки кода, которые мы скопировали из Feedburner и вставляем их в код нашей формы, заменив оригинальный код. Окончательный вариант выглядит так:
<h2>Подписаться на рассылки</h2>
<div class=»box»>
<p class=»rssfeed»><a href=»<?php bloginfo(‘rss2_url’); ?>»>Подпишитесь на RSS Feed</a> и получайте обновления</p>
<p class=»emailfeed»><strong>E-mail подписка:</strong></p>
<form class=»feedform» onsubmit=»window.open(‘http://feedburner.google.com/fb/a/mailverify?uri=artofbusiness/AOB’, ‘popupwindow’, ‘scrollbars=yes,width=550,height=520′);return true»>
<fieldset>
<input type=»text» name=»email» class=»feedemail» />
<input type=»submit» value=»Подписаться» class=»feedsubmit» />
<input type=»hidden» value=»artofbusiness/AOB» name=»uri»/><input type=»hidden» name=»loc» value=»en_US»/>
<input type=»hidden» value=»<?=$opt['blog_title']; ?>» name=»title» />
<input type=»hidden» name=»loc» value=»<?=$opt['location']; ?>» />
</fieldset>
</form>
<div class=»clear»></div>
</div>
Как видите все просто — на место оригинального куска кода (3) вставляем код Feedburner (1), так, чтобы получилось строчка
<form class=»feedform» onsubmit=»window.open(‘http://feedburner.google.com/fb/a/mailverify?uri=artofbusiness/AOB’, ‘popupwindow’, ‘scrollbars=yes,width=550,height=520′);return true»>
то есть <form class=»feedform» — не стираем!
В свою очередь, на место оригинального куска кода (4) вставляем код Feedburner (2), так, чтобы получилось строчка
<input type=»hidden» value=»artofbusiness/AOB» name=»uri»/><input type=»hidden» name=»loc» value=»en_US»/>
Здесь попроще, просто меняем строку на другую строку.
Вот и все, теперь ваша форма будет работать и радовать подписчиков. Следите за нашими обновлениями на twitter.