Skrip auto konten dalam tutorial cara membuat blog auto-generated content sebenarnya sangat banyak fungsinya. Proses generate konten yang dihasilkan bukan hanya dalam bentuk konten tertulis saja, tapi juga gambar, book, news, dan video. Tapi kali ini kita membahas Google Search API untuk image-nya saja dulu. Seperti halnya cara kerja search engine gambar dari Bing API pada tutorial sebelumnya, Google Search API image ini lebih banyak fungsi yang kita bisa tambahkan dan hasil pencariannya juga lebih banyak dibandingkan dengan menggunakan API Bing.
Bagaimana cara membuat mesin pencari Image dengan Google API di halaman search result WordPress?, ikuti saja langkah-langkahnya sebagai berikut:
1. Buka editor search.php blog wp kamu.
2. Kode 1 (Script proses keyword) – Tempatkan Kode berikut di paling atas sebelum kode <?php get_header(); ?>, jangan lupa daftarkan situs kamu di Google API sebelumnya untuk mendapatkan API key http://code.google.com/apis/ajaxsearch/key.html
<?php define('GOOGLE_API_KEY', '');
function pete_curl_get($url, $params){$post_params = array();
foreach ($params as $key => &$val) {
if (is_array($val)) $val = implode(',', $val);
$post_params[] = $key.'='.urlencode($val);
}
$post_string = implode('&', $post_params);
$fullurl = $url."?".$post_string;
$ch = curl_init();curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($ch, CURLOPT_URL, $fullurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040608'); //kamu bisa pake user agent yang lain, lihat listnya di sini www.user-agents.org
$result = curl_exec($ch);curl_close($ch);
return $result;
}function perform_google_web_search($termstring)
{
$start = 0;
$result = array();
while ($start<10) //kamu bisa ganti angka "50" untuk jumlah list yang ditampilkan
{
$searchurl = 'http://ajax.googleapis.com/ajax/services/search/images?v=1.0';
$searchurl .= '&key='.'ABCDEFG'; //ganti ABCDEFG dengan kode api Google http://code.google.com/apis/ajaxsearch/signup.html
$searchurl .= '&start='.$start;
$searchurl .= '&rsz=large'; //kamu bisa pake "small" untuk menampilkan hanya 4 (maksimal) pencarian
$searchurl .= '&filter=0'; //kamu bisa ganti "filter=1" untuk mem-filter hasil pencarian
$searchurl .= '&q='.urlencode($termstring);
$response = pete_curl_get($searchurl, array());
$responseobject = json_decode($response, true);
if (count($responseobject['responseData']['results'])==0)
break;
$allresponseresults = $responseobject['responseData']['results'];
foreach ($allresponseresults as $responseresult)
{
$result[] = array(
'url' => $responseresult['visibleUrl'],
'title' => $responseresult['titleNoFormatting'],
'thumbnail' => $responseresult['tbUrl'],
'originalurlimage' => $responseresult['originalContextUrl'],
);
}
$start += 8;
}
return $result;
}if (isset($_REQUEST['s'])) {
$termstring = urldecode($_REQUEST['s']);
} else {
$termstring = '';}
?>
2.Kode 2 (hasil yang ditampilkan) - Tempatkan kode berikut sebelum kode <?php endif; ?>.
<?php
function hilangkan_spesial_karakter($result) { //fungsi hilangkan semua spesial karakter
$result = strip_tags($result);
$result = preg_replace('/&.+?;/', '', $result);
$result = preg_replace('/\s+/', ' ', $result);
$result = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', ' ', $result);
$result = preg_replace('|-+|', ' ', $result);
$result = preg_replace('/?[a-z0-9]+;/i','',$result);
$result = preg_replace('/[^%A-Za-z0-9 _-]/', ' ', $result);
$result = trim($result, ' ');
return $result;
}
function CleanFileNameBan($result){
$bannedkey = array("key","key","key"); //masukkan kata kunci satu persatu untuk menghindari kata-kata yang tidak diinginkan.
$result = str_replace($bannedkey, '',$result);
$result = trim($result);
return $result;
}
?>
<?php $termstring = $s ?>
<?php if ($termstring!='') {
$googleresults = perform_google_web_search($termstring);
//Kamu bisa ganti kode <h1> serta test yang ada sesuai dengan kode html dan text keinginan kamu begitu juga dengan yang lainnya
print '<h1>Gambar '.CleanFileNameBan(hilangkan_spesial_karakter($s)).' yang terkait:</h1>';
print '<p style="font-weight:bold">Powered by Google</p>';
foreach ($googleresults as $result) {
print '<div class="post">';
print '<h1 class="title"><a href="'.$result['originalurlimage'].'">'.$result['title'].'</a></h1>';
print '<a href="'.$result['originalurlimage'].'"><img src="'.$result['thumbnail'].'"/></a>';
print '<p style="color:#777777">Sumber: '.$result['url'].'</p>';
print '</div>';
}
}
?>
Selesai!
Penjelasan bagaimana hasil generate kode di atas bisa menampilkan gambar
Saya cuma mengubah referensi kode sebelumnya dengan kode berikut:
..... 'url' => $responseresult['visibleUrl'],// Kode "visibleUrl" untuk menampilkan alamat url gambar 'title' => $responseresult['title'], //Kode "title" untuk menampilkan title gambar 'thumbnail' => $responseresult['tbUrl'], // Kode "tbUrl" untuk menampilkan thumbnail gambar 'originalurlimage' => $responseresult['originalContextUrl'],//Kode "originalContextUrl" untuk menampilkan link ke halaman gambar aslinya .....
Kode Hasil Proses
..... print '<h1 class="title"><a href="'.$result['originalurlimage'].'">'.$result['title'].'</a></h1>'; print '<a href="'.$result['originalurlimage'].'"><img src="'.$result['thumbnail'].'"/></a>'; print '<p style="color:#777777">Sumber: '.$result['url'].'</p>'; .....
Kamu bisa belajar mengubah referensi kode tersebut dengan kode dari Google API, referensinya di sini. Selamat memodifikasi dan mencoba Sob! :)
Please Note
Ikuti petunjuk-petunjuk yang ada dalam kode.
Baca baik-baik aturan penggunaan Google API jika mau menggunakan skrip ini.
Advance user only!
Update 30 APRIL 2010
Skrip diubah untuk menyesuaikan dengan aturan main Google AJAX Search API
Baca juga tips WordPress untuk menghentikan pencurian feed konten blog WorPress Anda.
Bagikan