Membuat Form Pencarian Berdasarkan Kategori Dropdown WordPress

Cara membuat form pencarian atau search form berdasarkan kategori artikel dengan model dropdown dan tombol submit di blog WordPress.

Bagaimana cara membuat search form WordPress berdasarkan kategori dalam artikel blog Anda?. Dengan menambahkan function wp dropdown categories, akan menjadikan form pencarian blog dapat berfungsi lebih spesifik dalam mencari artikel berdasarkan kategori yang dipilih, contohnya seperti form pencarian di situs JEVUSKA ini.

Search Form Dropdown Categories WordPress

Kode function wp dropdown categories berikut ini, akan menampilkan semua kategori yang ada dalam blog Anda.

<?php wp_dropdown_categories(array('show_option_all' => 'All categories','hierarchical'=>0));?>

Sisipkan kode tersebut setelah kode input text dalam file searchform.php theme WP Anda. Jika file searchform.php tidak ada, Anda dapat membuatnya (searchform.php) dan manambahkan kode form pencarian di dalamnya.

Kode form pencarian dengan penambahan kategori model dropdown dan tombol submit

<form method="get" action="<?php bloginfo('url'); ?>">

<input type="text" name="s" value="" /> //input text

<?php wp_dropdown_categories(array('show_option_all' => 'All categories','hierarchical'=>0));?> //fungsi wp dropdown categories yang ditambahkan

<input type="submit" value="Search" /> //tombol submit

</form>

Referensi kode fungsi wp_dropdown_categories lebih lengkap tersedia dalam WordPress Codex http://codex.wordpress.org/Function_Reference/wp_dropdown_categories.


 Share

Berapa nilai gizi jenis makanan? – Tips mencari jumlah nutrisi di Google

Cara mencari nilai gizi atau nutrisi makanan (buah, sayur, atau daging), Google mampu memberikan informasi dengan menggunakan kata kunci tertentu.

“Berapa kandungan vitamin A dalam satu wortel?” atau “berapa jumlah kolesterol daging kambing?”. Anda yang ingin mencari nilai gizi atau nutrisi suatu jenis makanan (buah-buahan, sayur-sayuran, atau daging-dagingan), Google sebagai mesin pencari mempunyai kemampuan untuk memberikan data atau informasi kadar gizi yang tepat berdasarkan kata kunci yang Anda inginkan.

Misalnya seperti pertanyaan pada awal artikel ini, cukup ketikkan di kotak pencarian (search box) dengan kalimat dalam bahasa Inggris dengan format seperti ini:
how much vitamin a in carrot atau how much cholesterol in goat
Pastikan settingan Google Search Engine Anda juga dalam bahasa Inggris, agar data yang dihasilkan menjadi seperti gambar di bawah ini:

Jumlah Gizi Vitamin A Wortel

Jenis nutrisi yang dapat dicari di Google adalah seperti kandungan kolesterol, sodium, potassium, karbohidrat, gula, protein, lemak dan lainnya. Walaupun nilai dan jenis makanan yang dapat ditampilkan masih terbatas, setidaknya sebagian besar makanan yang kita ketahui telah tersedia, dan semua data tersebut diambil dari sumber aslinya di United States Department of Agriculture.


 Share

Search Engine Pake Bing, Google dan Yahoo Boss di WP

Cara membuat search engine di halaman hasil pencarian WwordPress menggunakan API Bing, Google dan Yahoo Boss.

Dulu saya sudah bahas bagaimana cara bikin search engine di WordPress pake Bing, juga mesin pencari pake Google. Sekarang bagaimana kalo kita tambahkan satu lagi pake Yahoo Boss dan menggabungkan semuanya jadi satu. Jadi search engine di halaman hasil pencarian wp-nya pake Bing, Google dan Yahoo Boss. Tanpa basa-basi embat aja langsung skrip-nya sob (modifikasi dikit aja kok dari yang dulu, langkahnya juga sama.)

Kode 1 (Script proses keyword) – Buka search.php dan tempatkan Kode berikut di paling atas sebelum kode <?php get_header(); ?>

<?php
define('BING_API_KEY', '');
define('YAHOO_API_KEY', '');
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_bing_web_search($termstring){$searchurl = 'http://api.bing.net/json.aspx?';
$searchurl .= 'AppId='.'ABCDEFG'; //ganti ABCDEFG dengan kode api BING http://www.bing.com/developers/appids.aspx
$searchurl .= '&Query='.urlencode($termstring);
$searchurl .= '&Sources=Web';
$searchurl .= '&Web.Count=10'; //jumlah list situs yang dihasilkan
$searchurl .= '&Web.Offset=0';
$searchurl .= '&Web.Options=DisableHostCollapsing+DisableQueryAlterations';
$searchurl .= '&JsonType=raw';
$response = pete_curl_get($searchurl, array());
$responseobject = json_decode($response, true);if ($responseobject['SearchResponse']['Web']['Total']==0)return array();
$allresponseresults = $responseobject['SearchResponse']['Web']['Results'];
$result = array();
foreach ($allresponseresults as $responseresult){$result[] = array('url' => $responseresult['Url'],'title' => $responseresult['Title'],'abstract' => $responseresult['Description'],);
}return $result;
}
function perform_google_web_search($termstring)
{
$start = 0;
$result = array();
while ($start<10) //kamu bisa ganti angka "10" untuk jumlah list  yang ditampilkan
{
$searchurl = 'http://ajax.googleapis.com/ajax/services/search/web?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&#91;'responseData'&#93;&#91;'results'&#93;)==0)
break;
$allresponseresults = $responseobject&#91;'responseData'&#93;&#91;'results'&#93;;
foreach ($allresponseresults as $responseresult)
{
$result&#91;&#93; = array(
'url' => $responseresult['url'],
'title' => $responseresult['title'],
'abstract' => $responseresult['content'],
);
}
$start += 8;
}
return $result;
}

function perform_boss_web_search($termstring)
{
$searchurl = 'http://boss.yahooapis.com/ysearch/web/v1/';
$searchurl .= urlencode($termstring);
$searchparams = array(
'appid' => 'ABCDEFG', //ganti ABCDEFG dengan kode api Yahoo Boss https://developer.apps.yahoo.com/projects/projects
'format' => 'json',
'count' => '10',
);
$response = pete_curl_get($searchurl, $searchparams);
$responseobject = json_decode($response, true);
error_log(print_r($responseobject, true));
if ($responseobject['ysearchresponse']['totalhits']==0)
return array();
$allresponseresults = $responseobject['ysearchresponse']['resultset_web'];
$result = array();
foreach ($allresponseresults as $responseresult)
{
$result[] = array(
'url' => $responseresult['url'],
'title' => $responseresult['title'],
'abstract' => $responseresult['abstract'],
);
}
return $result;
}if (isset($_REQUEST['s'])) {
$termstring = urldecode($_REQUEST['s']);
} else {
$termstring = '';}
?>

Google merilis SSL web search

Secure Socket Layer (SSL) mengenkripsi koneksi informasi Anda dan membuat aktivitas pencarian Anda di web search Google menjadi lebih aman.

Kita telah melihat Google menambahkan security/keamanan pada Gmail baru-baru ini dan tampaknya Google,Inc ingin melindungi privasi kita lebih lanjut dengan menambahkan lapisan tambahan enkripsi ke Google Search juga.

Secure Socket Layer (SSL) mengenkripsi koneksi informasi Anda dan membuat aktivitas pencarian Anda di web search Google menjadi lebih aman. Selain Gmail, layanan Google lainnya menggunakannya enkripsi SSL yaitu Google Docs, AdSense, AdWords, Google Reader, dan Calendar adalah beberapa dari produk Google yang dapat kita pakai dengan aman karena beberapa data pribadi kita jadi aman dikirim antara komputer kita dan server Google.

Google https Beta

Apakah Anda harus melakukan sesuatu yang khusus untuk mengamankan pencarian Anda? Tidak, Google akan melakukannya untuk Anda secara otomatis. Anda akan menyadari bahwa Google adalah layanan dienkripsi dengan hanya melihat alamat web tertulis: http://www.google.com adalah versi tanpa enkripsi saat https://www.google.com beraksi, nah itu adalah versi yang aman.

Sayangnya tidak semua Pencarian Google dengan SSL dilindungi. Browsing untuk Foto atau Maps akan membawa Anda keluar dari web search SSL, tapi mungkin hanya sementara karena Google akan mengaktifkan enkripsi SSL standar untuk semua pencarian di akan datang. Selanjutnya Anda harus tahu bahwa lapisan keamanan tambahan akan membuat proses pencarian keseluruhan sedikit lebih lambat, saya sudah cek hanya berbeda 0.1 detik, tapi tentunya hal ini tidak akan mempengaruhi terlalu banyak, dan sama seperti sebelumnya, Google akan mengumpulkan data yang sama yang terkait dengan kebiasaan pencarian Anda untuk “meningkatkan kualitas pencarian Anda dan untuk menyediakan layanan yang lebih baik.”

Silahkan baca berita Google merilis secure encrypted search engine-nya di sini.

Mesin Pencari Image dengan Google API

Bagaimana cara membuat mesin pencari Image dengan Google API di halaman search result WordPress?, ikuti saja langkah-langkahnya sebagai berikut.

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

Membuat Search Engine Gambar di WordPress

Cara membuat search engine gambar di halaman search result wordpress, berikut langkahnya: (Saya pake WordPress Theme Default sebagai contoh penempatan kode)

Katanya satu gambar bisa menunjukkan seribu bahasa, bagaimana kalo banyak gambar dalam halaman pencarian blog WordPress kamu? Wah bisa menunjukkan berapa bahasa yah?! :mrgreen:
Setelah sebelumnya ada tutorial membuat search engine ebook dalam format PDF dengan menggunakan API search engine Bing, sekarang kita buat mesin pencari dalam format gambar to’ di halaman pencarian WordPress. Skrip kali ini agak berbeda dengan skrip auto-generated content, tapi fungsinya sama saja, kode ini meng-generate image dengan memanfaatkan API suatu search engine. Kita pake API Bing saja yah :)

Cara membuat search engine gambar di halaman search result wordpress, berikut langkahnya: (Saya pake WordPress Theme Default sebagai contoh penempatan kode)
1. Masuk search.php theme WordPress kamu
2. Kopas kode berikut dan tempatkan sebelum kode <?php endwhile; ?> dan sesudah kode <?php else : ?>:

<?php 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;
}
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('|%(&#91;a-fA-F0-9&#93;&#91;a-fA-F0-9&#93;)|', ' ', $result);
	$result = preg_replace('|-+|', ' ', $result);
        $result = preg_replace('/&#?&#91;a-z0-9&#93;+;/i','',$result);
        $result = preg_replace('/&#91;^%A-Za-z0-9 _-&#93;/', ' ', $result);
	$result = trim($result, ' ');
	return $result;
}
?>
<?php 
if (isset($s)) { 
$request = 
'http://api.search.live.net/json.aspx?Appid=KODEAPIBING&sources=image&Image.Count=5&query=' . urlencode($s); $response  = file_get_contents($request); 
$jsonobj  = json_decode($response); 
echo('<div ID="post">');                     
                 
foreach((array)$jsonobj->SearchResponse->Image->Results as $value) 
{
echo('<h2 class="title">'.CleanFileNameBan(hilangkan_spesial_karakter($value->Title)).'</h2>'); 
echo('<div class="entry"><a target="_blank" rel="nofollow" href="' . $value->Url . '">'); 
echo('<img style="border:none" src="' . $value->Thumbnail->Url. '"></a></div>');
echo('<p style="color:#777777">Sumber: ' . $value->Url. '</p>'); 
 
} 
echo(''); 
} ?>

Kode line 30 $value-/>Thumbnail->Url tidak pake garis miring (/) jadinya gini $value->Thumbnail->Url

3. Ganti kata KODEAPIBING dengan kode API dari BING di line 22 (daftar di http://www.bing.com/developers/createapp.aspx). Gambar dalam bentuk Thumbnail yang jumlahnya (angka 5), bisa ganti dengan jumlah yang diinginkan pada kode line 22 ...Image.Count=5...

Selesai!

Silahkan modifikasi sendiri kode html yang ada untuk menyesuaikan dengan theme WordPress kamu. Selamat mencoba sob! :)

Update 28 April 2010

  • Pada Line 34 kode sebenarnya seperti ini echo(‘</div>’);
  • Ada penambahan kode (array) pada line 26 untuk menghilangkan kode error Invalid argument supplied for foreach()

Please Note
Ternyata gambarnya bisa juga di-index oleh search engine :mrgreen:
Jangan lupa pasang atribusi Bing untuk hasil pencariannya.
Penempatan kode tergantung dari theme yang dipakai. Silahkan berkreasi sendiri.
Kasi tau yach kalo ada error. :)

Cara Membuat Mesin Pencari Ebook bentuk PDF di WP

Sudah baca dan mempraktekkan tutorial cara membuat auto-generated content pada post saya sebelumnya? dari skrip tersebut ditambah gabungan beberapa plugin, situs search engine pencari artikel PDF sudah dapat kamu buat dengan sekejap.

Situs mesin pencari atau search engine untuk mendapatkan ebook dengan gratis sudah banyak tersebar di Internet. Bagaimana cara membuat mesin pencari ebook dalam bentuk file PDF seperti itu? :)
Sudah baca dan mempraktekkan tutorial cara membuat auto-generated content pada post saya sebelumnya? dari skrip tersebut ditambah gabungan beberapa plugin, situs search engine pencari artikel PDF sudah dapat kamu buat dengan sekejap.

Berikut langkah-langkah bikin search engine untuk e-book format PDF di blog WordPress:
1. Kita masih pake search.php theme WP sebagai halaman hasil pencarian dan API Bing untuk meng-generate hasilnya.

2. Ikuti saja langkah-langkah membuat auto-generated content di halaman pencarian WordPress sampai selesai.

3. Kamu tinggal menambahkan kode filetype%3Apdf+ pada line 17 Kode 1 (Script proses keyword). Jadinya seperti ini:

......
$searchurl .= '&Query=filetype%3Apdf+'.urlencode($termstring);
......

4. Masih pada Kode 1 (Script proses keyword), perbanyak jumlah hasil pencarian pada line 19, misalnya kita mau buat jadi 50 hasil pencarian. Kodenya seperti ini:

......
$searchurl .= '&Web.Count=50'; //jumlah list file PDF yang dihasilkan
......

5. Ganti line 19 pada Kode 2 (hasil yang ditampilkan) untuk menambahkan tautan/link download pada sumber artikel yang dihasilkan, jadinya seperti ini:

......
print '<p style="color:#777777"><a target="_blank" href="'.$result['url'].'" rel="nofollow">DOWNLOAD</a></p>';
......

Selesai!

Plugin WordPress yang mungkin kamu butuhkan dalam pembuatan mesin pencari ini adalah:

  • Recent Google Searches Widget By Keith P. Graham. Download di wordpress.org/extend/plugins/recent-google-searches-widget/
  • Recent Searches Widget By Daniel Fruzynski. Download di wordpress.org/extend/plugins/recent-searches-widget/
  • Plugin STT 2 yang sudah di-edit.

Selamat mencoba sob! :)

Update 26 April 2010 Pukul 15.25
Nggak cuma file PDF dink, kamu juga bisa bikin search engine Excel, PowerPoint, dan Word hanya dengan mengganti kode “pdf” pada line line 17 Kode 1 (Script proses keyword) dengan kode “xls” untuk excel, “ppt” untuk PowerPoint, “doc” untuk Word (dokumen).

Baca juga Tutorial robots.txt yang berguna untuk me-restriksi sekaligus mem-filter konten dari search engine.


 Bagikan