Als u op zoek bent naar een manier om RSS-feeds overal op uw site weer te geven en WordPress gebruikt, dan zult u blij zijn om deze truc te horen. Weet jij over de WordPress RSS-widget? maar wat als het weergeven van een feed in de zijbalk niet genoeg is. In deze zelfstudie leert u hoe u een RSS-feed neemt en deze overal in uw thema plaatst, inclusief een pagina of berichtsjabloon. Dit is een geweldige oplossing voor jullie mensen die RSS feed-generators gebruiken (zeg maar dag tegen kleine footer credits) of plug-ins (zeg hallo tegen een snellere website)!
Laten we beginnen met het uitdelen van de code, dan zullen we het stap voor stap afbreken. Dit is de code die u in uw themasjabloon plaatst waar u de feed wilt laten weergeven. U kunt dit bijvoorbeeld in een aangepaste paginasjabloon plaatsen voor een speciale, gestileerde RSS-feed;)
get_item_quantity (7); // geef het aantal items op $ items = $ feed-> get_items (0, $ limit); // een reeks items maken if ($ limit == 0) echo 'De feed is leeg of niet beschikbaar.'; anders foreach ($ items als $ item):?> // De feitelijke uitvoerget_permalink (); ?> "alt ="get_title (); ?> ">get_title (); ?>
get_date ('j F Y @ g: i a'); ?>
get_description (), 0, 200); ?>?
Het idee is om eerst de feedgenerator te vinden include_once (ABSPATH. WPINC. '/feed.php'); welke nodig is om op de juiste locatie te zijn om deze code te laten werken.
Voeg vervolgens uw RSS-feed toe $ feed = fetch_feed ('http://www.brettthompsonracing.com/feed/'); die u op uw site wilt weergeven. Voor sommige feeds is het / -teken aan het einde vereist. Houd er rekening mee dat niet alle RSS-feeds zullen werken; als dat het geval is, kunt u de feed altijd omzetten in RSS-feed voor feedburners.
$ limit = $ feed-> get_item_quantity (7); bepaalt hoeveel berichten u wilt weergeven. Vervang 7 door een willekeurig nummer dat bij je past.
Als er geen berichten beschikbaar zijn, wordt een foutmelding weergegeven: "De feed is leeg of niet beschikbaar." Vervang de tekst met welke tekst dan ook. Als u dit bericht ontvangt, werkt uw code waarschijnlijk.
De standaardwaarde voor uw RSS-feed wordt telkens vernieuwd met nieuwe berichten 12 uurs. Deze code zorgt ervoor dat de feed elke keer wordt gecontroleerd 30 minuten (plaats deze code in uw functions.php of custom_functions.php themabestand):
add_filter ('wp_feed_cache_transient_lifetime', create_function ('$ rssfix', 'return 1800;'));
add_filter is een WordPress-functieaanroep waarmee u kunt 'haken' in de WordPress-kern en een functie kunt uitvoeren tijdens een bepaalde bewerking.
De haak is wp_feed_cache_transient_lifetime. Het is de haak die de feedvernieuwingen afhandelt.
Dan komt create_function ('$ rssfix', 'return 1800;') waarmee een tijd wordt ingesteld om de feed sneller te controleren. De code is ingesteld op 30 minuten, dus als je een andere tijd wilt, verander dan de 1800 in je gewenste tijd. 600 = 10 minuten, 1200 = 20 minuten, 1800 = 30 minuten. $ rssfix kan worden gewijzigd in elke gewenste tekst, maar vergeet niet om de $ te bewaren.
Daar heb je het. Neem dit idee en plaats het in een php-widget, thema, bericht of paginasjabloon. Zoals ik boven aan het bericht heb vermeld, kun je dit in een aangepaste paginasjabloon plaatsen voor een speciale, gestileerde RSS-feed.
Opmerking van de uitgever! Dit artikel is oorspronkelijk geëindigd in een paar laatste tips? een paar laatste tips die suggereerden dat je een bestand opent in de WordPress-kern en wijzigingen aanbrengt. Deze veranderingen waren over het algemeen gunstig en zeer goed bedoeld aan de oppervlakte, maar het moet gezegd worden dat de kerncode van WordPress heilig is en nooit mag worden veranderd. Kun je het doen? Technisch, ja? maar we hebben officieel besloten dat deze site het onderwerp niet zal benaderen met een tien-meter-paal, omdat het een ondermijning betekent van enkele van de principes die WordPress geweldig maken (een veilige kern, veilige updates, oh, en niet nodig om ooit te doen) raak de kern aan om te krijgen wat je wilt). Bedankt voor alle opmerkingen - ze helpen de site te verbeteren en ze worden allemaal op prijs gesteld!