Postingan ini sehubungan banyaknya permintaan dari Fans blog AGC yang menginginkan bagaimana memanfaatkan Google Docs Viewer di blog Auto Generate Content (dengan Bing API). Tutorial ini agak sedikit ribet, so its for advance user only and use for your own risk! :).
Sebelum kamu menerapkan tutorial ini, pastikan blog AGC kamu memakai BING API yang sudah di set dalam bentuk PDF.
Langsung aja deh sob, Om Jev pake WP themes default Twentyten sebagai contoh, berikut langkah-langkah memasang Docs Viewer di blog Auto Generated Content:
A. Membuat Secondary Header untuk Theme WordPress.
1. Bikin file baru dengan nama header2.php dalam direktori theme yang kamu gunakan.
2. Buka header.php dalam Twentyten Theme dan copy semua isinya ke dalam header2.php.
3. Dalam file header2.php, ganti kode dari <title> sampai </title> dengan kode berikut
<?php
function CleanUrlBlog($requests) {
$requests = $_SERVER['REQUEST_URI'];
$bloginfo = get_bloginfo( 'url' );
$requests = str_replace($bloginfo, '', $requests);
$requests = str_replace('/goto?=', '', $requests);
return $requests;
}
?>
<meta name="robots" content="noindex,nofollow" />
<title>
<?php
$appid = 'Bing APP KEY'; //ganti Bing APP KEY dengan kode api BING blog kamu
$request = 'http://api.bing.net/json.aspx?AppId='.$appid.'&Query='.CleanUrlBlog($requests).'&Sources=Web&Web.Count=1';
$response = file_get_contents($request);
$jsonobj = json_decode($response);
foreach((array)$jsonobj->SearchResponse->Web->Results as $result)
{
echo ucwords(CleanFileNameBan(hilangkan_spesial_karakter($result->Title)));
echo ' - ';
}
; bloginfo( 'name' ); ?></title>
4. Ganti Bing APP KEY dalam kode di atas dengan kode Bing AppID yang bisa kamu dapatkan di sini http://www.bing.com/developers/createapp.aspx.
5. Save perkejaan kamu.
B. Membuat Template Page
1. Buat file baru dengan nama docsviewercolumn.php dalam direktori theme kamu.
2. Copy kode dari file onecolumn-page.php dan paste semua kedalam file docsviewercolumn.php.
3. Ganti Template Name: One column, no sidebar dalam file docsviewercolumn.php menjadi Template Name: Docs Viewer Column.
4. Ganti kode get_header(); dengan kode include (TEMPLATEPATH . ‘/header2.php’);
5. Masih di dalam file docsviewercolumn.php, ganti semua kode ini
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> ...... sampai .... <?php endwhile; ?>
dengan kode berikut:
<?php
function hilangkan_spesial_karakter($result) { //fungsi hilangkan semua spesial karakter pada Title
$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;
}
?>
<?php
$appid = 'Bing APP KEY'; //ganti Bing APP KEY dengan kode api BING blog kamu
$request = 'http://api.bing.net/json.aspx?AppId='.$appid.'&Query='.CleanUrlBlog($requests).'&Sources=Web&Web.Count=1';
$response = file_get_contents($request);
$jsonobj = json_decode($response);
foreach((array)$jsonobj->SearchResponse->Web->Results as $result)
{
echo '<strong>'.ucwords(hilangkan_spesial_karakter($result->Title)).'</strong><br/>';
echo strip_tags($result->Description).'<br/>';
echo '<small style="color:#0E774A">'.$result->Url.'</small>';
echo ' ';
}
if (empty($result)) {
echo '<small>No Searches</small>';
}
?>
<iframe src="http://docs.google.com/viewer?url=<?php echo CleanUrlBlog($requests) ?>&embedded=true" width="600" height="780" style="z-index: 999;" frameborder="0" scrolling="yes"></iframe>
6. Ganti Bing APP KEY dalam kode di atas dengan kode Bing AppID yang bisa kamu dapatkan di sini http://www.bing.com/developers/createapp.aspx.
7. Save perkejaan kamu.
C. Membuat Page dengan nama “goto”
1. Create new page dan berikan judul goto.
2. Pada Page Atrribute » Template (default letaknya di sebelah kanan), pilih nama template yang sudah kamu buat sebelumnya, dalam hal ini Docs Viewer Column
3. Publish page goto yang sudah kamu buat.
D. Mengatur ulang link title url di halaman search blog AGC
1. Dalam halaman search blog WP kamu (search.php) yang menggunakan BING api dengan tutorial auto generate content modifikasi format PDF, ganti title pada pada line 19 Kode 2 (hasil yang ditampilkan) dengan kode berikut:
print '<h1 class="title"><a target="_blank" rel="nofollow" href="'.get_settings('home').'/goto?='.$result['url'].'">'.htmlspecialchars(CleanFileNameBan($result['title'])).'</a>';
2. All is done. Save pekerjaan kamu dan lihat hasilnya.
Selamat mencoba sob! :)
Please Note:
- Kamu bisa ganti kata “goto” dalam langkah C dengan syarat kode goto dalam langkah A dan D juga diganti dengan kata yang sama.
- Tutorial ini hanya untuk blog AGC yang memakai BING App key.
UPDATE 13-09-2014
E. Membuat URL tujuan “goto” menjadi acak (enkripsi)
Contoh:
http://www.example.com/goto?=aHR0cHM6Ly93d3cuaGVhbHRoLm55Lmdvdi9mb3Jtcy9kb2gtNDIyMGMucGRm
- Simpan function encode decode base64 berikut ini di
functions.php:function base64url_encode($data) { return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); } function base64url_decode($data) { return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT)); } - Di halaman search
search.php, encode url PDF yang dituju:$visit_url = base64url_encode($result['url']); print '<h1 class="title"><a target="_blank" rel="nofollow" href="'.get_settings('home').'/goto?='.$visit_url.'">'.htmlspecialchars(CleanFileNameBan($result['title'])).'</a>';Url yang dituju akan menjadi seperti ini:
http://www.example.com/goto?=aHR0cHM6Ly93d3cuaGVhbHRoLm55Lmdvdi9mb3Jtcy9kb2gtNDIyMGMucGRm - Di halaman “goto” dalam file
docsviewercolumn.php, decode url PDF yang dituju:<?php $visit_url = CleanUrlBlog($requests); $back_url = base64url_decode($visit_url); ?> <iframe src="http://docs.google.com/viewer?url=<?php echo $back_url ?>&embedded=true" width="600" height="780" style="z-index: 999;" frameborder="0" scrolling="yes"></iframe>
Url enkripsi di-dekripsi dan dimasukkan dalam kode iframe docs viwer untuk menampilkan dokumen.
A little bit note: Sebaiknya function CleanUrlBlog($requests) yang ada dalam tutorial ini disimpan dalam file functions.php.
Bagikan