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 ▼



Den Hanafi
waaw, si akang belum ngapdet lagi euy. nju sibuk naon kang???
[Reply]
May 24th, 2010 at 6:14 am
Biasalah kang, hehehe
[Reply]
Aldy
Libur lagi nih ?
[Reply]
May 24th, 2010 at 6:14 am
Gak cuma Off aja dulu bentar Om. hihihihi
[Reply]
Ferry Prima
Deka. loe jurusan apa yah? IT yah?
[Reply]
Ferry Prima
Deka. loe jurusan apa yah? IT yah? aniway, agregator nya di blog ini ada error nya tuh
[Reply]
May 24th, 2010 at 6:13 am
Sebenarnya bukan error dari kodenya Mas, tapi error dari feed yang punya blog. Selain itu juga bisa disebabkan koneksi dari server to server yang mungkin lagi bermasalah sehingga menyebabkan timeout dan error.
[Reply]
D3pd
[Reply]
irwan kurniawan
makasih mas artikelnya bisa jadi bahan untuk belajar php
salam kenal
My WordPress
kampus unand
[Reply]
May 24th, 2010 at 6:09 am
Salam kenal juga.
[Reply]
budies
mau ikutan mencoba membuat halaman myagregator, makasih tutorialnya
[Reply]
budies
saya coba buka halaman myagregator kok elor
[Reply]
niamwebs
makasih sob udah bagi2 ilmu, salam kenal.
[Reply]
anawia
menarik nih. tapi maaf belum saya baca semua abis saya masih ada perlu dikit ditempatlain. jadi bacanya lanjutin nanti aja.
terima kasih. menarik artikelnya.
[Reply]