Hogyan hozhat létre külső RSS-hírcsatornákat a WordPress-témában vagy a gyermektémában
Vannak, akik ezt nem veszik észre, de a WordPress integrálta a szindikálás lehetőségét RSS hírcsatornák néhány készenléti funkcióval. Bár léteznek ehhez widgetek, érdemes lehet más hírcsatornákat közvetlenül közzétenni a WordPress-sablonban.
A WordPress az elérhető funkción belül támogatja a Magpie és a SimplePie RSS gyorsítótárat is, fetch_feed:
- fetch_feed – RSS-hírcsatorna lekérése egy URL-ről automatikus gyorsítótárazással
Ez nagyon hasznos, ha több webhelye van, és meg szeretné osztani a blogbejegyzéseit a többi webhelyen, amint azok megjelennek. Szép is lehet egy SEO nézőpontból, a tartalom közzétételekor automatikusan visszamutató hivatkozásokat hoz létre egy másik webhelyen.
Ezt a megközelítést használtam podcastok és videofeedek közzétételére is egyik webhelyről a másikra.
WordPress téma vagy gyermektéma sablon
// 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>
Ha közzéteszed, és nem látod azonnal az új bejegyzést egy másik webhelyen, ne feledd, hogy a fetch_feed alapértelmezés szerint 12 órán keresztül tárolja a gyorsítótárat. Ezt az időintervallum szűrőn keresztüli módosításával módosíthatja
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');
Ha frissíteni szeretné egy adott hírcsatorna gyorsítótárát, alkalmazhatja a szűrőt, lekérheti a hírcsatornát, majd újra alkalmazhatja az alapértelmezett gyorsítótáridőt a kód frissítésével az alábbiak szerint:
// 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' );
Szerkessze a WordPress sablont (Tervezés > Témaszerkesztő), és helyezze el a kódot oda, ahol a hírcsatornát közzé szeretné tenni. Rengeteg oldalsáv-widget is található, amelyek hírcsatornákat is közzétesznek az Ön számára.