Membuat Simple Aggregator [Update]
May 1st, 2010 Under php, Wordpress | 115 CommentsAggregator digunakan untuk mengetahui update terbaru dari suatu situs atau blog lain dengan menggunakan sindikasi feed sehingga bisa dibaca ringkasannya. Pada wordpress.com dan wordpress.org sendiri sebenarnya sudah ada fungsi ini pada widget tapi buat sebagian orang termasuk saya kurang begitu bagus jika update yang mau di tampilkan lebih dari satu blog atau situs. Makanya pada blog saya sendiri sengaja saya tampilkan di page (My Aggregator).
Untuk membuat simple agregator pada wordpress ada beberapa cara antara lain.
Menggunakan kode PHP
Seperti biasa untuk mengeksekusi kode php pada wordpress.org, install terlebih dahulu plugin seperti exec-php atau inline-php, kemudian tambahkan pada page (html mode) yang ingin di jadikan aggregator, kode php berikut.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <?php // Lib. pada wordpress if (file_exists(ABSPATH . WPINC . '/rss.php')) { require_once (ABSPATH . WPINC . '/rss.php'); } else if(file_exists(ABSPATH . WPINC . '/rss-functions.php')){ require_once(ABSPATH . WPINC . '/rss-functions.php'); } else if(file_exists(ABSPATH . WPINC . '/feed.php')){ require_once(ABSPATH . WPINC . '/feed.php'); } $rss = fetch_feed('Masukkan Alamat Feed/RSS disini'); $maxitems = $rss->get_item_quantity(1); // 1 = banyaknya postingan yang ingin di tampilkan $rss_items = $rss->get_items(0, $maxitems); // Fungsi untuk membatasi deskripsi postingan function shorten($string, $length) { $suffix = '...'; $short_desc = trim(str_replace(array("\r","\n", "\t"), ' ', strip_tags($string))); $desc = trim(substr($short_desc, 0, $length)); $lastchar = substr($desc, -1, 1); if ($lastchar == '.' || $lastchar == '!' || $lastchar == '?') $suffix=''; $desc .= $suffix; return $desc; } ?> <ul> <?php if ($maxitems == 0) echo '<li>No items.</li>'; else foreach ( $rss_items as $item ) : ?> <li style="text-align: justify;"> <strong><?php echo $item->get_date('j M Y'); ?> : </strong><a rel="nofollow" href="<?php echo $item->get_permalink(); ?>" title="<?php echo $item->get_title(); ?>" target="_blank"><?php echo $item->get_title(); ?></a> | <a rel="nofollow" href="<?php $feed = $item->get_feed(); echo $feed->get_permalink(); ?>" title="<?php echo $feed->get_title(); ?>" target="_blank"><?php $feed = $item->get_feed(); echo $feed->get_title(); ?></a> <p><?php echo shorten($item->get_description(), 200); ?></p> </li> <?php endforeach; ?> </ul> |
Sayangnya karena pengetahuan saya tentang php sangat terbatas, saya masih terkendala untuk menambahkan fungsi array. Sehingga kode php yang dimasukkan harus berulang sesuai dengan banyaknya update blog atau situs berbeda. Mungkin ada yang tertarik menambahkan fungsi array nya..???
Jujur saja dari dulu belajar algoritma, pascal, c++ sampai java saya masih terkendala dengan fungsi berbentuk array ke atas. Mungkin sama seperti trigonometri pada matematika, yang selalu saya hindari kalo ada soalnya
.
Menggunakan Plugin
Buat yang lebih mudah mungkin bisa mencoba beberapa plugin berikut.
- Get Recent Post From Feed plugin ini pernah saya gunakan di dekahandayani.co.cc
- FeedWordPress
- Simple Feed List
- FeedCache Pipes
Menggunakan Aplikasi pihak ketiga
- Blogspot setahu saya yang menggunakannya Om Guskar.
- rssfeedreader.com
- rsspump.com
Sebagai catatan, untuk wordpress.org jangan lupa untuk menggunakan cache jika list blog atau situs lain yang di fetch lumayan banyak. Ingat agregator disini bersifat public bukan personal seperti google feed reader, feedburner, dsbnya. Ada yang mau menambahkan..????
Update
Kode PHP yang telah ditambahkan oleh Kang Mas Edi untuk fungsi array-nya, bisa di download di.
![]()
Referensi. Show ▼




khamiL
keren nihh
artikel yg sangat bermanfaat bagt bagi para bloger
[Reply]