
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.
Voit julkaista myös oman sisällön, ei vain muita. Olen tehnyt tämän jonkin aikaa SMJdesign koska kaikki on blogi, joka on yhteenveto neljästä blogistani. Pidän parempana FeedList-laajennus sisäänrakennetun RSS-toiminnon sijaan.
Voit käyttää tätä Twitter-sivublogiin tai mihin tahansa, jolla on RSS-syöte!
Kiva nähdä sinut piirissä, Stephen! Oletko kiinnostunut laajennuksen eduista sisäänrakennettuun ominaisuuksiin verrattuna? Onko se vain käyttöliittymä? Pidän siitä, että välimuisti on sisäänrakennettu sisäiseen toimintoon – suuria päiviä/sivustoja varten, joista voi olla hyötyä!
Kippis!
Doug
Loistava - juuri sitä tarvitsen! Olen työskennellyt WP MU -sivustolla ja haluan yksinkertaisesti, että pääblogi näyttää vain sivun, jolla on mukava kuva jokaiselle blogille. Nyt voin lisätä pari viestiä jokaisen kuvan alle sen sijaan, että ne ripustettaisiin sivupalkkiin RSS-widgetin avulla.
Mahtavaa, William!
Hauska osa on, että olin puolivälissä MagPien toteuttamisessa, kun päätin tarkistaa WP-sivuston nähdäkseni, kuinka muut voisivat tehdä sen. Nuo WP:n ihmiset tekevät todella upeaa työtä, eikö niin?
Doug