Content Marketing

Как да синдикирате външни RSS емисии във вашата WordPress тема или дъщерна тема

Някои хора не го осъзнават, но WordPress е интегрирал възможността за синдикиране RSS емисии с някои функции извън кутията. Въпреки че има джаджи за това, всъщност може да искате да включите възможността за публикуване на други емисии директно във вашия WordPress шаблон.

WordPress поддържа както Magpie, така и SimplePie RSS Caching в рамките на наличната си функция, fetch_feed:

  • fetch_feed – извличане на RSS емисия от URL с автоматично кеширане

Това наистина е полезно, ако имате няколко сайта и искате да споделите публикациите си в блога на другите сайтове веднага щом ги публикуват. Може да е хубаво и от SEO гледна точка, създавайки препратки към друг сайт автоматично, докато публикувате съдържанието си.

Също така използвах този подход за публикуване на подкасти и видео емисии от един сайт на друг.

Тема на WordPress или шаблон на дъщерна тема

// Get RSS Feed(s)
include_once( ABSPATH . WPINC . '/feed.php' );
$rss = fetch_feed('https://feed.martech.zone');
if ( ! is_wp_error( $rss ) ) :
$maxitems = $rss->get_item_quantity( 5 ); 
$items = array_slice($rss->get_items, 0, $maxitems);
endif;
?>

<ul>
<?php if (empty($items)) echo '<li>No items</li>';
else
foreach ( $items as $item ) : ?>
<li><a href='<?php echo esc_url( $item->get_permalink() ); ?>' 
title='<?php printf( __( 'Posted %s', 'my-text-domain' ), $item->get_date('j F Y | g:i a') ); ?>'>
<?php echo esc_html( $item->get_title() ); ?>
</a></li>
<?php endforeach; ?>
<?php endif; ?>
</ul>

Ако публикувате и не видите веднага новата си публикация на друг сайт, имайте предвид, че fetch_feed кешира за 12 часа по подразбиране. Можете да промените това, като промените интервала от време чрез филтъра 

wp_feed_cache_transient_lifetime.

function update_cache_time( $seconds )
{
// change the default feed cache recreation period to 1 hour
return (int) 3600;
}

//set feed cache duration
add_filter( 'wp_feed_cache_transient_lifetime', 'update_cache_time');

Ако искате да актуализирате кеша за конкретен канал, можете да приложите филтъра, да извлечете канала и след това да приложите отново времето за кеширане по подразбиране, като актуализирате кода си, както следва:

// filter to set cache lifetime
add_filter( 'wp_feed_cache_transient_lifetime' , 'update_cache_time' );

$rss = fetch_feed( $feed_url );

// reset the cache lifetime to default value
remove_filter( 'wp_feed_cache_transient_lifetime' , 'update_cache_time' );

Редактирайте своя WordPress шаблон (Дизайн > Редактор на теми) и поставете кода, където искате да публикувате емисията. Има също много джаджи на страничната лента, които също ще публикуват емисии за вас.

Douglas Karr

Douglas Karr е CMO на OpenINSIGHTS и основателят на Martech Zone. Дъглас е помогнал на десетки успешни стартъпи на MarTech, съдействал е за надлежна проверка на над $5 милиарда в придобивания и инвестиции на Martech и продължава да помага на компаниите при прилагането и автоматизирането на техните стратегии за продажби и маркетинг. Дъглас е международно признат експерт и лектор по дигитална трансформация и MarTech. Дъглас също е публикуван автор на ръководство за манекени и книга за бизнес лидерство.

Свързани статии

Бутон "Нагоре" горе
Близо

Открит е рекламен блок

Martech Zone е в състояние да ви предостави това съдържание безплатно, тъй като осигуряваме приходи от нашия сайт чрез приходи от реклами, партньорски връзки и спонсорство. Ще сме благодарни, ако премахнете блокера си за реклами, докато разглеждате нашия сайт.