Pertama, data movie yang kita ambil adalah dari
RottenTomatoes. Sebetulnya ada data yang lebih lengkap seperti data dari
IMDB, namun kali ini akan saya mulai dari RottenTomatoes saja yang simple. Silahkan register dulu untuk mendapatkan API Key
disini.
Prinsip kerja autocontent ini adalah,
mengambil keyword judul film dari judul posting. Mencari datanya di
RottenTomatoes database, lalu menampilkannya sebagai konten. Sehingga
supaya script ini berjalan, judul posting haruslah judul film disertai tahun film itu dirilis, karena banyak film yang judulnya serupa.
Contoh misalkan: Kung Fu Panda 2 (2011)
Script ini di hook dalam themes
WordPress, jadi kita akan bermain-main dengan single.php, sidebar.php
dan index.php. Saya sarankan anda buat blog dummy untuk mencoba di
sebuah subdomain dengan themes default, TwentyTen.
Masuklah editor themes WordPress dan buka single.php atau jika memakai TwentyTen, loop-single.php. Carilah kode?<?php the_content(); ?> lalu masukkan baris-baris kode berikut ini persis diatasnya.
<?php
$movie_key = str_replace(‘ ‘, ‘+’ , get_the_title());
Kode diatas untuk ambil keyword dari judul post dan mengganti spasi dengan tanda plus (+) sehingga akan didapat keyword : Kung+Fu+Panda+2+(2011).
$api_key = ’12345′; //ganti dengan API Key Anda
$jsonfile=’http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=’.$api_key.’&q=’.$movie_key.’&page_limit=1′;
$data = json_decode(file_get_contents($jsonfile));
$movie_id = $data->movies[0]->id;
Kode diatas adalah untuk request data
film sesuai keyword ke RottenTomatoes. Ganti angka 12345 pada $api_key
dengan API Key anda.
$movie_judul = $data->movies[0]->title;
$movie_tahun = $data->movies[0]->year;
$movie_rating = $data->movies[0]->mpaa_rating;
$movie_durasi = $data->movies[0]->runtime;
$movie_tanggal = $data->movies[0]->release_dates->theater;
$movie_sinopsis = $data->movies[0]->synopsis;
$movie_poster = $data->movies[0]->posters->detailed;
Kode diatas untuk mengambil info film seperti judul, tahun, rating, durasi, tanggal rilis, sinopsis dan gambar poster.
$movie_aktor1 = $data->movies[0]->abridged_cast[0]->name;
$movie_tokoh1 = $data->movies[0]->abridged_cast[0]->characters[0];
$movie_aktor2 = $data->movies[0]->abridged_cast[1]->name;
$movie_tokoh2 = $data->movies[0]->abridged_cast[1]->characters[0];
$movie_aktor3 = $data->movies[0]->abridged_cast[2]->name;
$movie_tokoh3 = $data->movies[0]->abridged_cast[2]->characters[0];
Kode diatas untuk mengambil 3 orang nama pemain utama dan karakter yang dimainkan.
Selanjutnya adalah menampilkan info tadi sebagai postingan blog.
?>
<br><img src=”<?php echo $movie_poster; ?>”><br>
<h2><?php echo $movie_judul.’ (‘.$movie_tahun.’)'; ?></h2>
Released on <?php echo $movie_tanggal; ?><br>
MPAA Rating is <?php echo $movie_rating; ?><br>
Runtime <?php echo $movie_durasi; ?> minutes.<br><br>
<b>Movie Synopsis:</b><br><p
align=”justify”><?php echo $movie_sinopsis;
?></p><br><br>
<b>Movie casts:</b><br><?php echo $movie_aktor1.’
as ‘.$movie_tokoh1.’, ‘.$movie_aktor2.’ as ‘.$movie_tokoh2.’,
‘.$movie_aktor3.’ as ‘.$movie_tokoh3; ?><br><br>
Bagaimana dengan video trailernya? Untuk video kita pakai
Youtube API dan tidak diperlukan API key untuk request ini.
<?php
$jsonfile2=’http://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&q=’.$movie_key.’+trailer&max-results=1′;
$data2 = json_decode(file_get_contents($jsonfile2));
$video_kode = $data2->data->items[0]->id;
$gbr1 = ‘http://i.ytimg.com/vi/’.$video_kode.’/1.jpg’;
$gbr2 = ‘http://i.ytimg.com/vi/’.$video_kode.’/2.jpg’;
$gbr3 = ‘http://i.ytimg.com/vi/’.$video_kode.’/3.jpg’;
?>
Kode diatas untuk melakukan pencarian
video trailer di Youtube berdasarkan keyword yang diambil dari judul
post. Kemudian mengambil kode video apabila video trailer sudah
ditemukan, dan untuk menampilkan player video dengan kode embed iframe
berikut ini:
<b>Movie Trailer:</b><br>
<iframe width=”560″ height=”349″
src=”http://www.youtube.com/embed/<?php echo $video_kode; ?>”
frameborder=”0″ allowfullscreen></iframe>
Lalu supaya konten lebih kaya, kita
dapat menambahkan beberapa gambar adegan dari film. Gambar ini bisa
diambil dari thumbnail video Youtube.
<br><br><b>Pictures from Movie:</b><br>
<img src=”<? echo $gbr1; ?>”> <img src=”<? echo $gbr2; ?>”> <img src=”<? echo $gbr3; ?>”>
Potongan kode-kode tadi apabila dijadikan utuh adalah seperti ini
<?php
// Script AutoContent Movie Site
// By Charlie NumberSeven a.k.a C#7 http://blogbizz.cn
$movie_key = str_replace(' ', '+' , get_the_title());
$api_key = '1234'; //ganti dengan API Key Anda
$jsonfile='http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey='.$api_key.'&q='.$movie_key.'&page_limit=1';
$data = json_decode(file_get_contents($jsonfile));
$movie_id = $data->movies[0]->id;
$movie_judul = $data->movies[0]->title;
$movie_tahun = $data->movies[0]->year;
$movie_rating = $data->movies[0]->mpaa_rating;
$movie_durasi = $data->movies[0]->runtime;
$movie_tanggal = $data->movies[0]->release_dates->theater;
$movie_sinopsis = $data->movies[0]->synopsis;
$movie_poster = $data->movies[0]->posters->detailed;
$movie_aktor1 = $data->movies[0]->abridged_cast[0]->name;
$movie_tokoh1 = $data->movies[0]->abridged_cast[0]->characters[0];
$movie_aktor2 = $data->movies[0]->abridged_cast[1]->name;
$movie_tokoh2 = $data->movies[0]->abridged_cast[1]->characters[0];
$movie_aktor3 = $data->movies[0]->abridged_cast[2]->name;
$movie_tokoh3 = $data->movies[0]->abridged_cast[2]->characters[0];
?>
<br><img src="<?php echo $movie_poster; ?>"><br>
<h2><?php echo $movie_judul.' ('.$movie_tahun.')'; ?></h2>
Released on <?php echo $movie_tanggal; ?><br>
MPAA Rating is <?php echo $movie_rating; ?><br>
Runtime <?php echo $movie_durasi; ?> minutes.<br><br>
<b>Movie Synopsis:</b><br><p align="justify"><?php echo $movie_sinopsis; ?></p><br><br>
<b>Movie casts:</b><br><?php echo $movie_aktor1.' as '.$movie_tokoh1.', '.$movie_aktor2.' as '.$movie_tokoh2.', '.$movie_aktor3.' as '.$movie_tokoh3; ?><br><br>
<?php
$jsonfile2='http://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&q='.$movie_key.'+trailer&max-results=1';
$data2 = json_decode(file_get_contents($jsonfile2));
$video_kode = $data2->data->items[0]->id;
$gbr1 = 'http://i.ytimg.com/vi/'.$video_kode.'/1.jpg';
$gbr2 = 'http://i.ytimg.com/vi/'.$video_kode.'/2.jpg';
$gbr3 = 'http://i.ytimg.com/vi/'.$video_kode.'/3.jpg';
?>
<b>Movie Trailer:</b><br>
<iframe width="560" height="349" src="http://www.youtube.com/embed/<?php echo $video_kode; ?>" frameborder="0" allowfullscreen></iframe>
<br><br><b>Pictures from Movie:</b><br>
<img src="<? echo $gbr1; ?>"> <img src="<? echo $gbr2; ?>"> <img src="<? echo $gbr3; ?>">
Gunakan kreatifitas anda sehingga data tadi dapat menampilkan konten yang unik dan menarik di Page tersebut ditambah data yang lebih lengkap dibanding RottenTomatoes, seperti
ini.
Setelah kode tadi dipasang, anda cukup
posting judul film saja sebagai judul post, sedangkan konten akan
otomatis digenerate. Anda bisa posting manual atau memanfaatkan RSS Feed
judul-judul film, dan buatlah autoposting dengan plugin autoblog
seperti WP-Robot atau Autoblogged. Cukup ambil judul film-nya saja.
UPDATE :
bagaimana untuk menampilkan gambar poster sebagai thumbnail di halaman depan. Sebetulnya tidak hanya gambar poster,
semua info yang ditampilkan di halaman single.php juga bisa ditampilkan
di halaman depan. Dalam hal ini misal kita ingin juga menampilkan poster
film dibawah judul posting pada halaman depan,
Buka file index.php dari themes anda atau loop.php jika memakai themes default TwentyTen. Sebelum baris kode?<?php the_content(); ?> masukkan kode berikut:
$movie_key = str_replace(‘ ‘, ‘+’ , get_the_title());
$api_key = ’1234′; //ganti dengan API Key Anda
$jsonfile=’http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=’.$api_key.’&q=’.$movie_key.’&page_limit=1′;
$data = json_decode(file_get_contents($jsonfile));
$movie_poster = $data->movies[0]->posters->detailed;
<br><img src=”<?php echo $movie_poster; ?>” width=”75″><br>
Angka 75 pada width merupakan ukuran lebar gambar, tinggi nya akan menyesuaikan berdasarkan rasio. Pemanggilan variabel $movie_poster
yang berisi url file gambar poster ini, disesuaikan dengan themes anda.
Supaya gambar di halaman depan bisa ganti nampilkan poster, buka file index.php, lalu cari baris berikut:
<img src="<?php echo p75GetThumbnail($post->ID, '180', '135',
''); ?>" alt="< ?php the_title_attribute(); ?>" />
Kemudian ganti dengan ini:
<img src="<?php echo $poster; ?>" width="180" height="135" alt="<?php the_title_attribute(); ?>" />
Bagaimana Jika data film tidak tampil di blognya, bahkan menampilkan error?