Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Лексиум (анонсы блога профессионального web-мастера) WordPress – добавить RSS-заголовки с другого сайта


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

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

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

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

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

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

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

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

Приступим.

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

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
include_once(ABSPATH . WPINC . '/rss.php');
$rss = fetch_rss('http://www.jakubov.ru/feed/');
$rss_items = array_slice($rss->items, 0, 10);
if ( empty($rss_items) ) {
    echo '<li><a href="http://www.jakubov.ru/" title="Переход на мой ЛИЧНЫЙ блог" taget="_blank">Переход на личный блог временно не работает.</a></li>';
} else {
    foreach ( $rss_items as $item ) {
        echo '<li><noindex><a href="' . $item['link'] . '"' . 'title="' . $item['description'] . '"' . 'target="_blank" rel="nofolow">' . $item['title'] . '</a></noindex></li>';
    }
}
// RSS
define('MAGPIE_CACHE_AGE', 60*60) // кэш 1 час
?>

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

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

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

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

Здесь можно оставить свои комментарии. Выпуск подготовлен


В избранное