WordPress — добавить RSS-заголовки с другого сайта

С тех пор, как отделил личное от профессионального, появилось некоторое неудобство.

Заходит человек ко мне на сайт и даже не догадывается, что есть еще один.

Решение этой проблемы, в сущности, простое. Добавь в сайдбар заголовки записей со второго сайта — и будет тебе счастье. В WordPress для подобных целей есть готовый RSS виджет.

Что меня в нем не устроило?

1. Ссылки, получаемые с его помощью не закрыты от индексации (для меня это важный момент).

2. Эти ссылки, открывают второй сайт в том-же окне.

3. Мой сайдбар не предусматривает виджеты (в свое время покоцал). И все приходится вставлять вручную.

Итак, задача: добавить в сайдбар на главной странице заголовки последних публикаций с сайта www.machoweb.ru

Приступим.

1. Нахожу адрес RSS ленты. Это просто: http://www.machoweb.ru/feed/

2. Лезу в боковую колонку и в нужном месте прописываю вызов RSS-виджета.

<?php 
wp_widget_rss_output('http://www.machoweb.ru/feed/', 1); // RSS 
?>

Впрочем этот вариант имеет много минусов. Например, чтобы закрыть ссылки от индексации, придется вносить правки в wp-includes/default-widgets.php, да и задать количество заголовков, а так же скорость обновления ленты — проблематично.

На www.redhammer.ru нашел шикарнейшее решение. Немного с ним похимичил (закрыл ссылки от индексации, прописал им человеческий title) и вуаля! (Автору огромное спасибо!).

<?php
include_once(ABSPATH . WPINC . '/rss.php');
$rss = fetch_rss('http://www.machoweb.ru/feed/');
$rss_items = array_slice($rss->items, 0, 10);
if ( empty($rss_items) ) {
    echo '<li><a href="http://www.machoweb.ru/" title="Переход на мой РАБОЧИЙ блог" taget="_blank">Переход на рабочий блог временно не работает.</a></li>';
} else {
    foreach ( $rss_items as $item ) {
        echo '<li><noindex><a href="' . $item&#91;'link'&#93; . '"' . 'title="' . $item&#91;'description'&#93; . '"' . 'target="_blank" rel="nofolow">' . $item['title'] . '</a></noindex></li>';
    }
}
// RSS 
define('MAGPIE_CACHE_AGE', 60*60) // кэш 1 час
?>

Все прекрасно работает.

Если вызов виджета заключить в контейнер (div или др.) с id или классом, то можно поэкспериментировать с внешним видом (через CSS разумеется).

Вот так это выглядит у меня.

А с вами был… Да-да! Лексиум.
Кто-ж еще?))

PS ВАЖНО! Если на блоге, из которого берется RSS в цитату добавить HTML-тэги, может получиться вот такое:

Чтобы этого не было — можно в вывод title, добавить strip_tags() Вот как будет выглядить обновленная строка вывода урла.

        echo '<li><noindex><a href="' . $item&#91;'link'&#93; . '"' . 'title="' . strip_tags($item&#91;'description'&#93;) . '"' . 'target="_blank" rel="nofolow">' . $item['title'] . '</a></noindex></li>';

14 комментариев на «“WordPress — добавить RSS-заголовки с другого сайта”»

  1. ледиолга:

    Ну да!:)

  2. С кем не бывает…

  3. ледиолга:

    ага:)
    Тормоз нашёл на меня:)

  4. Там и меню есть, а если начать просмотр с главной, будет еще интересней)))))))))))))))))))))))

  5. ледиолга:

    Увидела:)
    Ура! Просто они немного с боку да?

  6. ледиолга:

    WordPress – добавить RSS-заголовки с другого сайта
    Вот только этот пост я у тебя вижу!

  7. Понятия не имею. Может надо кнопочки в меню понажимать или браузер обновить/сменить?))

  8. ледиолга:

    У тебя на блоге 166 постов?
    А чего я только одного вижу?

  9. На сегодня 166 постов. Это меньше 1000, все-таки больше, чем 1.

  10. ледиолга:

    Ну конечно!:)
    Ну в этом ничего плохого нет. Всё здорово, просто один пост только. Вот и из этого выходит, что недавно начал работу.
    Всё хорошо!

  11. Да только начал.
    А что? Очень заметно?

  12. ледиолга:

    Ты наверное начал недавно писать блог, или уже давно?

  13. ледиолга:

    Привет!
    Рада знакомству!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *