WordPress auto content generator di single post

Sudah tahu bikin auto generated content di halaman pencarian WordPress? bagi yang belum tahu silahkan pelajari dulu bagaimana cara membuat search engine dalam search result dalam tutorial auto generated content pada postingan saya sebelumnya.

Cara merubah tanda + jadi - di permalink search result WordPress

Bagi yang sudah tahu, nah postingan wordpress auto content generator di single post ini sekalian menjawab pertanyaan dari matping:

cara buat hal 7 bisa tampil di single post gimana mas?

Halaman 7 maksudnya halaman membuat search engine dengan menggunakan API mesin pencari, misalnya Bing. Cara tersebut dipakai pada halaman search blog WP. Sekarang kita coba terapkan pada halaman single post blog WordPress. Caranya nggak jauh berbeda dengan cara sebelumnya, hanya sedikit penambahan kode aja kok. Langkah-langkahnya sebagai berikut (saya pake SE Bing dengan Theme WordPress Default sebagai sample):

1. Buka editor single.php blog wp kamu.

2. Kode 1 (Script proses keyword) - Tempatkan Kode berikut di paling atas sebelum kode <?php get_header(); ?>

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
<?php define('BING_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
$searchurl .= '&Query='.urlencode($termstring);
$searchurl .= '&Sources=Web';
$searchurl .= '&Web.Count=5'; //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;
}if (isset($_REQUEST['s'])) {
$termstring = urldecode($_REQUEST['s']);
} else {
$termstring = '';}
?>

3. Kode 2 (Mengambil Title postingan sebagai keywords). Tempatkan tepat sesudah kode 1.

1
2
3
4
5
6
7
<?php
function ambiljudul($title){
   $title = get_the_title();
   $title = trim($title);
    return ($title);
}
?>

4. Kode 3 (hasil yang ditampilkan) - Saya cuma modifikasi dikit dari kode 2 sebelumnya.
Tempatkan kode berikut sebelum kode <?php endif; ?> (jika hasilnya mau dimunculkan di bawah comment), atau tempatkan di atas kode <php comments_template(); ?> (jika hasilnya mau dimunculkan di atas comment)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php function CleanFileNameBan($result){
$bannedkey = array("key","key","key"); //masukkan kata kunci satu persatu untuk menghindari kata-kata yang tidak diinginkan.
$result = str_ireplace($bannedkey, '',$result);
$result = trim($result);
return $result;
}
?>
 
<?php $termstring = ambiljudul($title) ?>
 
<?php if (ambiljudul($title)!='') {
$bingresults = perform_bing_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>Artikel  '.ambiljudul($title).'  yang terkait di situs lainnya:</h1>'; 
foreach ($bingresults as $result) {
print '<div class="post">';
print '<h1 class="title">'.htmlspecialchars(CleanFileNameBan($result['title'])).'</h1>';
print '<p>'.CleanFileNameBan(strip_tags($result['abstract'])).'</p>';
print '<p style="color:#777777">Sumber: '.$result['url'].'</p>';
print '</div>';
}
}
?>

Selesai!. Jika ada yang error, silahkan konfirmasi ke saya. Selamat mencoba Sob! :)

Merubah kata “search” di permalink pencarian WP sesuai dengan kata yang kamu inginkan

Baca juga tutorial blog tentang cara pasang Google CSE di halaman pencarian WP serta cara simpel membuat popup di WordPress.

Ikuti artikel JEVUSKA di Google+Facebook

comments