• Home
  • Tools
  • Sitemap
  • Blogroll
  • Cek Pagerank
  • About

  • Membuat Simple Aggregator [Update]

    May 1st, 2010 Under php, Wordpress | 115 Comments

    Aggregator 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 :mrgreen: .

    Menggunakan Plugin

    Buat yang lebih mudah mungkin bisa mencoba beberapa plugin berikut.

    Menggunakan Aplikasi pihak ketiga

    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 ▼



    You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

    115 Responses to 'Membuat Simple Aggregator [Update]'

    1. avatar August 12, 2011 at 11:24 pm
      khamiL

    Leave a Reply