вівторок, 18 червня 2013 р.

Поділяємо контент блогу для відвідувачів і передплатників


У наш час високих технологій, особливо в Інтернеті, є ще місця, куди вони не дісталися. І, судячи з усього, доберуться ще не скоро ... Це RSS рідери. Їх багато, але основних, які використовуються в Рунеті - всього два, це Google Reader і Яндекс.Лента (я не розглядаю оффлайн читалки, хоча статистика була б цікава). Вебмастери стараються, впроваджують навороти у свої проекти, добиваються збільшення передплатників, але мало хто згадує про те, що всі ваші красивості не передаються в RSS. Для збереження форматування тексту та підвищення його привабливості потрібно потурбуватися відповідним форматуванням для читалок RSS. Цим і займемося сьогодні ...


Розглянемо цей самий пост, який ви зараз читаєте. Чому потрібно робити поділ контенту?
Читалки трохи більше ніж повністю не підтримують JavaScript.
Обмежена підтримка CSS або взагалі власне форматування.
Якщо в пості присутній деякий код в якості прикладу (як в цьому пості, наприклад), то в стрічку він піде повною плутаниною.
Великі зображення можуть звести з розуму форматування читалок, що зазвичай і відбувається.
Форми якщо і сприймаються, то в 99% випадків неактивні.
RSS стрічки часто перенаправляються на E-mail, який читають з мобільних пристроїв.

У розділенні контенту нам допоможуть старі знайомі - шорткоди WordPress, про які статті вже були. Якраз для початківців. А сьогодні напишемо два шорткода, які будуть відображати свій контент для кожного типу перегляду - окремо для сайту, окремо для RSS стрічки.

FeedOnly
У файлі functions.php додаємо код:

add_shortcode( 'feed-only', 'my_feed_only_shortcode' );
function my_feed_only_shortcode( $atts, $content ) {

if ( is_feed() )
return apply_filters( 'the_content', $content );

return '';
}


Його застосування стандартно, оточуємо якийсь контент тегами і отримуємо профіт:

[ feed-only ] Lorem Ipsum dolor... [/ feed-only ]

 
Тепер про те, як і чому це працює. Банальне умова, перевірка на те, чим запитується сторінка, рідером або браузером. У першому випадку - повертається контент, який укладено між тегами, інакше повертається порожній рядок. Причому, зверніть увагу на apply_filters, виклик цієї функції гарантує, що зміст, який знаходиться всередині змінної $ content буде отримано з повною розміткою і ... Блін, навіщо ці складні подробиці. Хто в темі і так зрозуміє, а хто тільки вчиться - для тих простіше - контент буде виведений як годиться, з розміткою, шорткодамі, якщо вони були. Коротше, все буде добре з гарантією.

SiteOnly

Дуже схожий код, просто один в один, але з невеликими відмінностями:


add_shortcode( 'site-only', 'my_site_only_shortcode' );
function my_site_only_shortcode( $atts, $content ) {

if ( ! is_feed() )
return apply_filters( 'the_content', $content );

return '';
}


 Різниця між двома шорткодамі лише в тому, що цей код повертає потрібний контент, якщо ми НЕ запитуємо сторінку RSS рідером. От і все ... Застосування аналогічно.

А наприкінці дам пару ідей для застосування:
 [ site-only ] [ gallery ] [/ site-only ]
[ feed-only ] Галереи доступны только на основном сайте. Перейдите для просмотра [/ feed-only ]



Ось таким чином можна стимулювати читачів до переходів на основну сторінку для перегляду великих фотографій або ілюстрацій

[ site-only ]Ваша ссылка на халяву![/ site-only ]
[ feed-only ]Уважаемый читатель! Мы тут вам халявы приготовили. Получить ее можно, перейдя на основную страницу[/ feed-only]


 
А так можна грати на одвічної любові до халяви.

Ось і все на сьогодні. Коментуйте, підписуйтесь на оновлення і вдалого вам дня.

Вам потрібна розробка сайтів? Індивідуальний підхід до дизайну, процесу роботи і ціноутворення - непогані аргументи почати роботу зі студією Allara-Studio. До речі, вони займаються не тільки розробкою сайтів, а й просуванням. Віддати проект в одні руки - зазвичай дешевше і надійніше.

Немає коментарів:

Дописати коментар