Сидел Палыч в последний раз руками анонсы на статью раскидывал по интернету. И так это его задолбало, что дальше некуда. Это ж надо, человек с высшим техническим образованием, с почти что 30-летним стажем автоматизатора сидит и тупо копипастит уже больше часа. Все решил Палыч, пора это дело срочно автоматизировать. С чего же начнем? Конечно с RSS ленты нашего сайта! Вы что, не знали, что на Вашем сайте есть RSS лента? Так вот, я Вас обрадую. Есть! И даже не одна. Есть общая лента во множестве принятых для RSS стандартов. Есть ленты и по категориям, имеющимся на вашем сайте. Хотите посмотреть? Да, запросто! Наберите в строке вашего браузера вот такой вот адрес
http://ВАШ_САЙТ/feed или http://ВАШ_САЙТ/?feed=rss2
Только вместо ВАШ_САЙТ впишите, конечно, Ваш сайт. Ну что, увидели свой RSS канал? И как он Вам? Палычу не понравился. Ну что это за RSS feed, если в нем даже картинок нету. Потом непонятно откуда информация и кто автор, т.е. копирайта не хватает. А еще хорошо бы ссылочку после анонса на страницу первоисточника с анкором “Прочитать статью полностью”.
Стал тут Палыч репу чесать и думу думать, как же это дело исправить? Думал он, думал и сочинил (правда, не совсем сам, часть в интернете слямзил) вот такой кусочек кода:
function lusp_post_image_html( $html, $post_id, $post_image_id ) {
$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_post_field( 'post_title', $post_id ) ) . '">' . $html . '</a>';
return $html;
}
add_filter( 'post_thumbnail_html', 'lusp_post_image_html', 10, 3 );
function lusp_thumbnail_feeds($content) {
global $post;
$siteurl = get_bloginfo('url');
$sitename = get_bloginfo('name');
$content = preg_replace("#<a.*\/a>#","", $content);
if(has_post_thumbnail($post->ID)) {
$content = '<div style="width: 500px">' .
get_the_post_thumbnail($post->ID, 'large').
'</div><br>' .
$content;
}
$content = $content .
'... <a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_post_field( 'post_title', $post_id ) ) . '">Прочитать статью полностью » </a>'.
'<hr />' .
'<small>Copyright © '.date("Y").' <a href= "'.$siteurl.'" title="'.$sitename.'" ><b>' .$sitename.'</b></a>. Все права защищены. ' .
'При перепечатке любых материалов с сайта <a href="'.$siteurl.'" title=""><b>'.$siteurl.'</b></a> активная ссылка на него обязательна.</small>';
return $content;
}
add_filter('the_excerpt_rss', 'lusp_thumbnail_feeds');
add_filter('the_content_feed', 'lusp_thumbnail_feeds');
Вставил он его в самый конец файлика functions.php прямо перед закрывающим тегом «?>», который лежит в каталоге темы и, о счастье, получил то, что хотел:
- Заголовок поста с активной ссылкой на первоисточник – есть;
- Картинка из статьи — имеется;
- Небольшой анонс из статьи – присутствует;
- Ссылка с нужным анкором – тоже есть;
- И даже в подвале имеется строка копирайта аж с двумя ссылками на главную страницу сайта.
“Вот это правильная RSS лента” — подумал Палыч и остался доволен проделанной работой. При помощи такой RSS ленты можно автоматизировать распространение своих ссылок хоть в 100 мест, хоть в 200. И все это практически задарма. Ничего покупать не надо. Но о том, как Палыч это сделал, поговорим в следующей статье. Сначала будем оформлять подписку для читателей Вашей ленты на Вашем сайте, а заодно научимся закидывать анонсы новых статей в Twitter. Напишу очень скоро. Возможно даже завтра. Продолжение следует…
P.S. Если было интересно, поделитесь этой статьей с друзьями. Кнопочки соц. сетей ищите ниже. Если что-то не поняли, прошу вопросы в комментариях.
Палыч.
Здравствуйте !
У меня такое впечатление, что моя лента не работает.
Проверила рекомендованными способами- в первом случае пишет, что сайт закрыт роботом
Во втором случае — показывает в поисковой системе всё что там есть с моего сайта
Не подскажете ли, что такое у меня на блоге происходит, потому что посещаемость упала втрое, и как я ни стараюсь- никак не могу сдвинуть с мертвой точки
Странно, но вот так вот http://www.samobrankamadeinturkey.com/feed/ у меня выдало нормальную Вашу RSS ленту. Все там хорошо.
Или это не тот блог?
Спасибо за оперативный ответ !
Он самый, родимый…Только у меня вот что выдает Гугл-www.samobrankamadeinturkey.com/search/борек/feed/rss2/
Описание веб-страницы недоступно из-за ограничений в файле robots.txt.
А вот что — Яндекс- Искомая комбинация слов нигде не встречается.
Поискать «http://www.samobrankamadeinturkey.com/feed» в других поисковых системах:
Мила
http://www.samobrankamadeinturkey.com/search/борек/feed/rss2/ — судя по всему, эта страница и не должна быть доступна. Это страница результатов поиска по Вашему блогу. А она и должна быть закрыта от роботов и Гугла и Яндекса как раз в файле robots.txt. Надо смотреть, что у Вас там написано, но это уже совсем другая история.
Чтобы увидеть RSS ленту, эту строчку надо вводить не в строку поиска Гугла или Яндекса, а в строку ввода URL Вашего браузера.
Что то не так, вставляю код через редактор в админке, нажимаю обновить файл и у меня вся админка превращается акру-кодабру.
Пробывал кодировку поменять через Нотепад тоже самое.
Проверил еще раз. Код для вставки брал прямо с сайта. Все работает.
Может Вы не в тот function.php вставляете. Нужно именно в файл вашей темы.
Лежит по пути wp-content\themes\НАЗВАНИЕ ВАШЕЙ ТЕМЫ\functions.php.
И лучше не через редактор в админке, а скачать файлик к себе на комп, добавить код, а потом файлик обратно на сервер.
Или, возможно, моя доработка конфликтует с Вашей темой. Тут уж помочь нельзя 🙁
Попробовал через FileZilla ни каких изменений не произошло 🙁
Я еще об одном подумал. Вы этот код вставляете перед закрывающим тегом PHP или после? В конце файла будет тег «?>». Надо прямо перед ним.
Если не получится, пришлите мне свою тему на support@lusp.ru. Я посмотрю в чем дело. Даже самому стало интересно, что у Вас там такое. 🙂