Два шорткода для работы с RSS

Иногда бывает нужно вставлять дополнительные функции в содержимое страницы или поста. Не постоянно, а время от времени. Например, время от времени нужно выводить последние обновления из какой-нибудь RSS ленты. Чтобы не громоздить конструкции с внедренным PHP-кодом, можно вместо них использовать шорткоды. Представляю вам два шорткода для работы с RSS, которые меня часто выручали.

Шорткод feedonly

Шорткод feedonly выводит текст, который виден только в RSS. Это могут быть специальные объявления, подпись, реклама – все, что угодно, но виден этот текст будет только в обновлениях блога, полученных с помощью RSS.

Откройте файл functions.php, и добавьте в него код:

function feedonly_shortcode( $atts, $content = null) {
	if (!is_feed()) return "";
	return $content;
}
add_shortcode('feedonly', 'feedonly_shortcode');

Используйте его так: [feedonly]Этот текст вы прочтете только в RSS[/feedonly]

Шорткод rss

Шорткод rss умеет выводить названия последних публикаций из любого RSS фида, хоть вашего, хоть внешнего. Вам нужно указать только адрес RSS и количество публикаций.

Откройте файл functions.php, вставьте в него:

include_once(ABSPATH.WPINC.'/rss.php');
function readRss($atts) {
    extract(shortcode_atts(array(
      "feed" => 'http://',
      "num" => '1',
    ), $atts));
    return wp_rss($feed, $num);
}
add_shortcode('rss', 'readRss');

Используйте так: [rss feed="https://n-wp.ru/feed" num="10"]

Понятно, что можно вставить любой адрес и любое количество, но не забудьте, что шорткод выведет максимум столько публикаций, сколько разрешено настройками указанного фида. Если на сайте, RSS ленту которого вы выводите, в RSS выводится только последние 5 публикаций, то и шорткод выведет только пять последних обновлений, даже если вы укажете 10.

Пользуйтесь!

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*