Showing WordPress Posts in Your Own Website

Sama seperti tulisan sebelumnya, namun kali ini ngambil posts di blog wordpress untuk ditampilkan. Bedanya, kalau ini formatnya XML kalau Twitter formatnya json. Tapi ga masalah. Mari kita saksikan bagaimana caranyo?

Ambil dan Parsing Posts Pake Feed RSS versi 2 dari WordPress

Ini adalah skrip untuk ngambil rss dengan item lima post ($i). Lalu kelima post ini dimasukin ke dalam array $data_ary. Nanti $data_ary ini bisa di foreach untuk ditampilkan di html, atau bisa juga ditampilkan dalam bentuk json buat webservice seperti yang saya lakukan (tapi di contoh ini hanya sampai array aja). Baiklah, inilah skrip yang saya modif dari mari.

function startElement($parser, $name, $attrs) {
	global $insideitem, $tag, $title, $description, $link, $pubDate;
	if ($insideitem) {
		$tag = $name;
	} elseif ($name == "ITEM") {
	     	$insideitem = true;
	    }
  	}

  	function endElement($parser, $name) {
		global $insideitem, $tag, $title, $description, $link, $pubDate, $i, $data_ary, $app, $count;
	   	if (!$i) $i=0;
	   	if (($name == "ITEM") && ($i<=5)) {
    	$i++;

		$data_ary[$i]['link'] = trim($link);
		$data_ary[$i]['title'] = trim($title);
		$data_ary[$i]['datetime'] = substr($pubDate,0,16);
		$data_ary[$i]['desc'] = trim($description);
		$data_ary[$i]['excerpt'] = strtoupper(trim($title)) . "
". trim($description);

	    $title = "";
	    $description = "";
	    $link = "";
	    $pubDate="";
	    $insideitem = false;
  	}

}

function characterData($parser, $data) {
 	global $insideitem, $tag, $title, $description, $link, $pubDate;
  	if ($insideitem) {
	    switch ($tag) {
		    case "TITLE":
		    	$title .= $data;
		    	break;
		    case "DESCRIPTION":
		    	$description .= $data;
		    	break;
		    case "LINK":
		    	$link .= $data;
		    	break;
		    case "PUBDATE":
		    	$pubDate .= $data;
		    	break;
	    }
  	}
}

$insideitem = false;
$tag = "";
$title = "";
$description = "";
$link = "";
$pubDate ="";
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
$fp = fopen("http://premierinvestment.wordpress.com/feed/","r");
while ($datarss = fread($fp, 4096)) 
	xml_parse($xml_parser, $datarss, feof($fp))
or die(sprintf("XML error: %s pada baris %d", 
  		xml_error_string(xml_get_error_code($xml_parser)), 
  		xml_get_current_line_number($xml_parser)));
fclose($fp);
xml_parser_free($xml_parser);

Tampikan Posts di Website

$data_ary ini bisa dipanggil di html seperti ini

Tampilkan Post di HTML
Tampilkan Post di HTML

Demikian! Semoga tulisan ini bermangpaat bagi hidup dan kehidupan!

Bahan Bacaan:
http://www.afrioni.web.id/2012/01/parsing-rss-dan-menampilkan-rss-dengan.html

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s