Ulkoisten RSS-syötteiden jakaminen WordPress-teemassa tai lapsiteemassa
Jotkut ihmiset eivät ymmärrä sitä, mutta WordPress on integroinut syndikaatin RSS syötteitä, joissa on valmiita ominaisuuksia. Vaikka tähän on olemassa widgetejä, saatat haluta sisällyttää mahdollisuuden julkaista muita syötteitä suoraan WordPress-malliisi.
WordPress tukee sekä Magpie- että SimplePie RSS-välimuistia käytettävissä olevissa toiminnoissaan, hae_syöttö:
- hae_syöttö – noutaa RSS-syötteen URL-osoitteesta automaattisella välimuistilla
Tämä on todella kätevää, jos sinulla on useita sivustoja ja haluat jakaa blogitekstisi muilla sivustoilla heti, kun ne julkaistaan. Se voi olla myös mukavaa SEO näkökulmasta, tuottamalla käänteisiä linkkejä toiselle sivustolle automaattisesti, kun julkaiset sisältöäsi.
Olen myös käyttänyt tätä lähestymistapaa podcastien ja videosyötteiden julkaisemiseen sivustolta toiselle.
WordPress-teema tai lapsiteeman malli
// 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>
Jos julkaiset etkä näe uutta viestiäsi heti toisella sivustolla, muista, että fetch_feed-välimuisti on oletuksena 12 tuntia. Voit muokata tätä muuttamalla aikaväliä suodattimen kautta
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');
Jos haluat päivittää tietyn syötteen välimuistin, voit ottaa suodattimen käyttöön, hakea syötteen ja ottaa sitten oletusvälimuistin käyttöön uudelleen päivittämällä koodisi seuraavasti:
// 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' );
Muokkaa WordPress-malliasi (Suunnittelu > Teemaeditori) ja sijoita koodi paikkaan, johon haluat syötteen julkaistavan. Siellä on myös paljon sivupalkin widgetejä, jotka julkaisevat syötteitä myös sinulle.