Mini-tutorial: hoe plaats je de rss-feed van je Wordpress-blog op een andere website?

01
02
10
Geplaatst door e-rik

Met een klein php-scriptje kun je de rss-feed van een WordPress blog op een andere website zetten. Het onderstaande stukje php-code haalt de feed op en maakt er html van. Je kunt dit alleen gebruiken in een php-pagina en het werkt alleen als je provider php ondersteunt – maar dat doen vrijwel alle providers tegenwoordig.

1. Plaats de php-code

Plaats de code op de plek op je webpagina waar je de feed van de WordPress blog wilt weergeven. Ik plaats de php-code tussen <div id=”feed”> en </div> tags, waardoor ik hem gemakkelijk kan opmaken met css.

Als voorbeeld heb ik hier de feed van een van mijn websites gebruikt. Vervang de url in de eerste regel van het script door de url van jouw rss-feed. De url van de rss feed van je WordPress website is de url met daar achter /feed. Bijvoorbeeld: http://www.jouwwebsite.nl/feed

<?php
// Plaats hieronder tussen de enkele aanhalingstekens
// de url van je feed, op de plaats waar hier als voorbeeld
// http://www.e-rik.nl/feed/ staat
define(feed,'http://www.e-rik.nl/feed/');
// de volgende regel haalt de feed van de server op
$xml_feed = file_get_contents(feed);
// de volgende regel creëert een xml parser
$xml_parser = xml_parser_create();
// de volgende regel vertelt de xml parser welke variabelen er zijn
xml_parse_into_struct($xml_parser,$xml_feed,$xml_keys,$xml_index);
// de volgende regel voert het parsen uit
xml_parser_free($xml_parser);
for($i = 0;!empty($xml_index['TITLE'][$i]);$i++){
// de volgende regel genereert de kop boven je RSS-feed
if($i == 0){
echo '<h3>De nieuwste blogberichten op <a href="'.$xml_keys[$xml_index['LINK'][$i]]['value'].'">'.strtolower($xml_keys[$xml_index['TITLE'][$i]]['value']).'.nl
</a></h3>';
}else{
// de volgende regels genereren de berichten
// met bij elk bericht kopregel en samenvatting
echo '<span class="heading"><a href="'.$xml_keys[$xml_index['LINK'][$i]]['value'].'">'.$xml_keys[$xml_index['TITLE'][$i]]['value'].
'</a></span><br />'.$xml_keys[$xml_index['DESCRIPTION'][$i]]['value'].'<br /><br />';
}}
?>

2. Style je feed

Je feed style je eenvoudig met css. Dat gebeurt via id=”feed” in de omsluitende div-tag en class=”heading” in de span-tag. De specificaties van de opmaak zet je in een css stylesheet of in een <style></style> blok in de head sectie van je webpagina. Op mijn website gebruik ik de volgende style definities voor de feed van mijn Wordpress blog:

#feed {
font-family: verdana, sans-serif;
width: 360px;
padding: 5px;
font-size: 14px;
text-align: left;
line-height: 20px;
}

#feed .heading {
font-weight: bold;
}

Klaar!

En dat ziet er dan zo uit:

De nieuwste blogberichten op e-rik interaction concepts, het bureau in groningen van copywriter, ideeënmaker, communicatieadviseur, wordpress webbouwer en e-marketeer erik de vries.nl

Twitteren voor beginners
De aanleiding: vragen in een van mijn online netwerken van een beginnende twitteraar. ‘Twitteren, hoe moet dat? Hoe persoonlijk kun je worden? Hoe zakelijk moet je het houden?’
Ik ben zeker geen powertwitteraar. Er gaan hele dagen voorbij dat ik er niet naar omkijk. Maar in mijn circa driejarige twitterervaring heb ik wel een paar dingen [...]

Internetadressen bijna op
De internetadressen, ook wel IP-adressen genoemd, zijn bijna op.
Update 3-2-2011 2:02: De tellers zijn uitgeteld. De IPv4 adressen zijn op. En nu?
De IP standaard is midden jaren ‘70 ontwikkeld door Vint Cerf.
IP-adressen hebben de vorm xxx.xxx.xxx.xxx waarbij elke xxx staat voor een byte van 8 bits. In totaal bevat een IP-adres dus [...]

Het verlanglijstje van bol.com
Onderstaand mailtje stuurde ik vandaag naar bol.com:
Beste mensen,
Bij inloggen op bol.com ontwaarde ik vandaag een knopje “Bekijk de speciaal voor jou geselecteerde aanbevelingen.”

Aangekomen op de pagina lees ik:
“Persoonlijke aanbevelingen voor Erik de Vries
Het winkelen bij bol.com wordt nóg leuker en gemakkelijker. Je krijgt nu namelijk persoonlijke aanbevelingen. Gebaseerd op artikelen die je eerder bij [...]

SEO voor dummies: Bekijk je website eens door de ogen van googlebot
Je website optimaliseren voor zoekmachines (SEO) wordt een stuk gemakkelijker als je er even door de ogen van googlebot naar kijkt.
Tweet Googlebots zijn de kleine robotjes die onophoudelijk het wereldwijde web afstruinen op zoek naar nieuwe en gewijzigde webpagina’s. Googlebot en zijn soortgenoten, ook wel bekend als web-crawlers of spiders, kijken op een heel [...]

Help, een klant!
Veel zzp’ers steken nogal wat tijd en energie in het verkrijgen van nieuwe klanten. Marketing, sales, acquisitie. Alles wordt uit de kast gehaald voor die website, die advertentie, die mailing. Maar als de klant eenmaal binnen is en de eerste opdracht afgerond, begint de grote leegte. Want wat moet je met een klant?
[...]

Ken jij deze simpele methode al om erachter te komen wat je klant echt wil?
Er is een simpele methode om erachter te komen wat jouw klant van je wil. Je hoeft er niet voor de deur uit. Je hoeft er geen marktonderzoek voor uit te zetten. Je hebt de kennis al in huis.
Tweet Je beschikt over het vermogen je in te leven in jouw klant. Dat inlevingsvermogen – [...]

Waaraan herken je een copywriter waar je accountant net zo blij van gaat worden als jij?
Afkomstig uit de Beeldbank Nationaal Archief. Volgens de tekst op het bord was het een actie van reclamebureau Prad
Als ondernemer huur je een copywriter niet in om leuke pakkende teksten te schrijven.

Tweet Jij huurt een copywriter om geld voor jou te verdienen. Een copywriter is voor jou een bedrijfsmiddel, niet een creatieve taalknutselaar. Net [...]

Missen jouw kopregels deze krachtige psychologische weerhaakjes?
Als je kopregel onvoldoende aandacht trekt, dan doet de rest van je tekst er niet meer toe. Alle moeite die je hebt gedaan om die prachtige webtekst, advertentie of blog te schrijven, was voor niets. Als je kopregel niet doet wat hij moet doen, zapt je lezer verder en ben je hem kwijt. Misschien wel [...]

Jouw marketing kan nog wat leren van een 2350 jaar oude Griek
Aristoteles sprak 2350 jaar geleden de wijze woorden: “Alle communicatie moet leiden tot verandering”. De boodschap moet iets veranderen bij de ontvanger, anders is er geen sprake van communicatie. Alleen boodschappen versturen vond Aristoteles nog geen communicatie. De ontvanger van de boodschap moet er wel wat mee doen.

Tweet Ik weet niet of elke [...]

Simpel toch? Succes!


tags: , , , , , , ,

8 reacties

  • Meindert

    Dag e-rik,

    Top dit script.Het werkt goed, maar zou graag willen dat de plaatjes die geplaats worden in een wordpress bericht ook op de andere site gepubliceert worden.

    Ik snap niet veel van PHP en kom er niet uit.
    Weet jij hoe dat zou kunnen?

    Eigenlijk zou ik net zo iets als je http://www.e-rik.nl/ willen maken. Dat ziet er super uit.

    groet,

    Meindert

  • marcel

    Dag e-rik,

    Het is me niet gelukt de meldingen te laten verdwijnen. Daarnaast constateerde ik dat de headers en de berichttekst niet met elkaar overeenkomen. Heb daarom uiteindelijk met hulp van buitenaf toch voor een ander script gekozen.

    Dank je voor je behulpzaamheid.

    • e-rik

      Marcel, jij ook bedankt voor je feedback. Ik zie niet direct waarom de feed van wordpress.com anders werkt dan die van wordpress.org blogs, waarbij het script perfect werkt. Daar zie je ook niet die verschuiving tussen titel en berichttekst. Mogelijk genereert wordpress.com een iets andere xml-file. Ik zal er eens induiken en kijken of ik het script kan verbeteren.

  • marcel

    Dag e-rik, Je php-code werkt inderdaad verbluffend eenvoudig. Resultaat direct zichtbaar!

    Onder de weergegeven feeds krijg ik echter 2 meldingen:
    1) Notice: Undefined offset: 3
    2) Notice: Undefined index:

    Weet je hoe ik deze kan laten verdwijnen?

    Verder wil ik het aantal feeds beperken tot de laatste 2 of 3 actuele posts. Hoe geef ik dit aan in de code?

    Hoor het graag van je.

    • e-rik

      Hallo Marcel,

      De foutmelding kan ik niet reproduceren. Ik wil wel even naar je code kijken als je me een url geeft.

      Het aantal feeds beperken tot de laatste 2 of 3 actuele posts kan op 2 manieren.
      1. In WordPress kun je onder settings > reading aangeven hoeveel posts je feed bevat. Hij neemt dan de meest recente posts.
      2. In de php-code kun je regel 13 vervangen door

      for($i = 0;$1< =3;$i++)

      Het getal in het middelste argument ($i<=3) bepaalt het aantal meest recente posts.

      • marcel

        Dag e-rik,

        Ik heb de site (in ontwikkeling) online gezet op http://www.dusseo.nl

        Heb je hier voldoende aan om probleem op te sporen?

        • e-rik

          Dag Marcel,

          Ik heb de feed getest en de foutmelding verschijnt bij mij niet. Zie demo.e-riktest.nl
          Om op te sporen waardoor de foutmelding wordt veroorzaakt zou ik de php-file moeten bekijken (D:\www\dusseo.nl\www\index.php) Merkwaardig dat hij trouwens geen webadres geeft (http://) maar de locatie van een bestand (D:\)

Plaats een reactie