• Home
  • Investigasi Domain
  • 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 ▼

    Bookmark and Share


    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 May 8, 2010 at 6:03 am
      Den Hanafi
    2. avatar May 8, 2010 at 8:03 am
      Aldy
    3. avatar May 8, 2010 at 10:56 am
      Ferry Prima
    4. avatar May 8, 2010 at 10:56 am
      Ferry Prima
    5. avatar May 8, 2010 at 2:19 pm
      D3pd
    6. avatar May 14, 2010 at 1:58 pm
      irwan kurniawan
    7. avatar July 23, 2010 at 6:31 am
      budies
    8. avatar July 23, 2010 at 6:36 am
      budies
    9. avatar January 3, 2011 at 6:06 pm
      niamwebs
    10. avatar January 11, 2011 at 8:08 pm
      anawia

    Leave a Reply