Extended Related Posts (EXTRP) adalah plugin untuk blog WordPress yang fungsinya menampilkan pos terkait yang relevan dan lebih baik. Support dengan plugin Relevanssi untuk menampilkan related post sesuai algoritma plugin Relevanssi.
Fitur Plugin
Otomatis, tersedia pengaturan untuk tampilan di bawah postingan secara otomatis.
Excerpt, bentuk post excerpt/deskripsi tersedia dalam dua pilihan, default dan snippet.
Thumbnail, jika fitur ini diaktifkan, maka gambar diambil otomatis berdasarkan feature image, gambar dari pos, gambar pertama, dan jika tidak gambar dalam pos, maka akan tampil gambar default. Anda dapat menggunakan gambar default Anda sendiri, selain yang telah disediakan oleh plugin ini. Tersedia juga pilihan jika ingin mengambil gambar dengan url eksternal yang dalam pos, jika pos tersebut tidak memiliki gambar selain gambar eksternal. Ukuran thumbnail akan berubah secara otomatis sesuai dengan pengaturan ukuran thumbnail Anda dan Anda juga dapat menambahkan dengan ukuran yang baru.
Style, tersedia 7 jenis model tampilan related post.
Highlight keyword, memberikan sorotan pada kata kunci yang terdapat dalam deskripsi pos, tersedia 7 pilihan.
Widgets, tersedia pengaturan dalam widget untuk ditampilkan di sidebar situs Anda.
Shortcode Generator, Anda tidak perlu mengetikkan satu persatu parameter yang akan ditambahkan dalam shortcode related post. Dengan Shortcode Generator, Anda hanya memilih parameter dan nilainya untuk membuat shortcode sekaligus Kode PHP untuk dipasang di post area, widget atau di theme.
Kode PHP related post, jika theme Anda tidak memungkinkan untuk menampilkan related post secara otomatis, tersedia kode PHP yang dihasilkan dengan menggunakan Shortcode Generator.
Algoritma, plugin ini mencari pos yang berkaitan berdasarkan judul atau konten postingan, jika tidak ada, maka secara otomatis akan mencari berdasarkan kategori, tag, dan tiap kata dalam judul pos. Plugin Extended Related Posts dapat didukung oleh plugin Relevanssi untuk menampilkan pos terkait sesuai algoritma plugin Relevanssi.
Stopwords Filter, filter kata kunci yang tidak diinginkan untuk menampilkan pos terkait yang lebih relevan.
Caching, fitur ini untuk memberikan page load dan performa situs yang lebih baik dalam menampilkan pos terkait. Mekanisme cache sifatnya transient, dan tersimpan di database. Tersedia penjadwalan dan tombol untuk menghapus cache.
Multi-language, saat ini masih tersedia 2 bahasa, yaitu bahasa Inggris dan Indonesia.
Automatic update, update plugin dilakukan via GitHub. Sekarang tersedia di repositori plugin WordPress.
Format xml search image dengan Bing API lawas yang gratis alias free, sudah tidak berlaku. Yang dipakai sekarang Bing API V.2 atau dengan Windows Azure Markerplace, masih ada yang gratis walaupun terbatas (limit) hanya sampai 5000 request. Dengan menggunakan format Bing Windows Azure, kita dapat melakukan parsing PHP yang sederhana untuk Bing Search Image format json dengan cara berikut:
Membuat Form Search Box
<form method="get" action="<?php echo $_SERVER['PHP_SELF'];?>">
Type in a search:
<input type="text" id="searchText" name="s"
value="<?php
if (isset($_GET['s']))
{
echo($_GET['s']);
}
else
{
echo('superman');
}
?>"/>
<input type="submit" value="Search" id="searchButton" />
</form>
Menampilkan hasil pencarian gambar berdasarkan kata kunci (keyword) yang ditentukan.
Pastikan Anda mencantumkan Primary/Account Key Anda dalam kode tersebut, silahkan daftar di Windows Azure https://datamarket.azure.com/account, gratis terbatas. Semoga bermanfaat.
Kode API youtube versi 1 tidak dapat digunakan lagi, untuk versi terbarunya yaitu YouTube Data API Version 3. Cara mudah untuk menampilkan daftar video Youtube berdasarkan kata kunci dan id video di situs atau aplikasi Anda, bisa dengan function PHP yang sederhana seperti ini:
Kode untuk menampilkan hasil
Search List
Untuk menampilkan video dari hasil pencarian berdasarkan kata kunci yang Anda tentukan.
jv_youtube('YOUR KEYWORD');
Single Video
Untuk menampilkan single video berdasarkan video id yang ditentukan. Cara mengetahui video id, misalnya pada link video YouTube https://www.youtube.com/watch?v=QqzekYZdBEo,
kode acak dalam link seperti ini QqzekYZdBEo adalah video id-nya.
Berikut kode JavaScript jika ingin menampilkan video player secara asyncronous.
<script>
//https://developers.google.com/youtube/iframe_api_reference
//http://stackoverflow.com/a/901144
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
players = new Array();
var player = document.getElementsByClassName('player');
function onYouTubeIframeAPIReady() {
for (var i = 0; i < player.length; i++) {
t = new YT.Player(player[i].getAttribute('id'), {
height: '390',
width: '640',
videoId: player[i].getAttribute('data-id'),
events: {
//'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
players.push(t);
}
}
function onPlayerReady(event) {
event.target.playVideo();
}
function onPlayerStateChange(event) {
var temp = event.target.getVideoUrl();
if (event.data == YT.PlayerState.PLAYING) {
for (var i = 0; i < players.length; i++) {
if (players[i].getVideoUrl() != temp) {
setTimeout(players[i].stopVideo, 6000);
players[i].stopVideo();
}
}
}
}
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
</script>
Set-up Google API Key Anda (ganti your-google-api-key-here pada kode function di atas), petunjuk tambahan lainnya ada dalam kode tersebut. Tampilan Script PHP Youtube API 3 Search
Kode PHP Video YouTube Data API v.3 ini tidak menggunakan Google Client API PHP library, jadi cukup sederhana untuk Anda terapkan di situs seperti WordPress atau aplikasi Anda. Kode untuk tampilan dan referensi lainnya bisa temukan di Google Developer YouTube Data API. Semoga bermanfaat.
Cara mudah melakukan redirect halaman blog WordPress bisa diterapkan di htaccess atau dengan menggunakan function redirect header PHP berikut. Pasang di file functions.php theme Anda, and save it:
add_action('template_redirect', 'redirect_header_search');
function redirect_header_search(){
if($_GET['s']){ // letter 's' as default search query parameter WP
$dir = 'topic'; // 'topic' as var $search_base
$homeurl = esc_url(home_url( '/' ));
$query = urlencode_deep(get_search_query());
$location = "$homeurl$dir/$query";
$status = '301'; // 301 Moved Permanently, empty/default is 302 for temporary redirect
wp_redirect( $location, $status );
}
}
//flush the rules of search base WP default
//rewrite.php line 478 WP ver 4.2.2
//var $search_base = 'search';
add_action('init', 'change_search_base_wp');
function change_search_base_wp() {
global $wp_rewrite;
$dir = 'topic'; // 'topic' as var $search_base
$rules = $wp_rewrite->front.'%dir%/%search%';
$rule = str_replace('%dir%',$dir,$rules);
$wp_rewrite->search_structure = $rule;
$wp_rewrite->flush_rules();
return $wp_rewrite;
}
Kode ini hanya untuk me-redirect url search default, dan khusus function wp_redirect bisa Anda terapkan pada berbagai parameter query atau redirect halaman tertentu. Semoga bermanfaat.
Bagaimana cara supaya administrator atau owner yang komentar di blognya sendiri tidak muncul (exclude) di recent comments widget blog WordPress?. Tanpa harus menggunakan plugin tambahan, Anda bisa memasang function berikut di file functions.php theme WordPress Anda.
add_filter('widget_comments_args', '_jv_filter_recent_comments_widget');
function _jv_filter_recent_comments_widget(){
// get data from database table wp_options with option_name 'widget_recent-comments'
$instance = array_shift(get_option('widget_recent-comments'));
$number = absint($instance['number']);
$args = array(
'number' => $number,
'status' => 'approve',
'post_status' => 'publish',
'author__not_in' => 1, // '1' is user id of administrator/owner
);
return $args;
}
Save pekerjaan Anda and see the result.
Jadi, kecuali owner blog, para pengunjung lain yang komentar di blog Anda tetap ada di recent comments (komentar terbaru) widget.
Parameter query search result WordPress basic-nya menggunakan "?s=", tapi bagaimana jika kita ingin membuat parameter baru lainnya berdasarkan hasil pencarian WordPress.
Di file functions.php theme WordPress Anda, tambahkan kode function berikut:
function _jv_add_query_vars_filter( $vars ){
//create 'q' as query parameter
$vars[] = "q";
return $vars;
}
add_filter( 'query_vars', '_jv_add_query_vars_filter' );
function _jv_custom_search_query( $query ) {
//pre get post loop p and q parameter base on s parameter
if ($_GET['p'] == "list" && get_query_var('q') != "") {
$query->set('post_status', 'publish');
$query->set('post_type', 'post');
$query->set( 's', $query->query_vars['q']);
//add filter to wp_title base on q parameter
add_filter('wp_title',function(){
$title = ucwords(get_search_query());
return $title;
},10,2);
};
return $query;
}
add_filter( 'pre_get_posts', '_jv_custom_search_query');
//optional - add custome search form
function _jv_search_form( $form ) {
$form = '<form role="search" method="get" id="searchform" class="searchform" action="' . home_url( '/' ) . '" >
<div><label class="screen-reader-text" for="s">' . __( 'Search for:' ) . '</label>
<input type="hidden" value="list" name="p"/>
<input type="text" value="' . get_search_query() . '" name="q" id="s" />
</div>
</form>';
return $form;
}
add_filter( 'get_search_form', '_jv_search_form' );
Function ini akan meng-generate post di halaman front page theme WP Anda (index.php atau home.php), jadi hasilnya akan sangat tergantung pada theme yang digunakan, juga plugin tambahan yang menfilter wp_title, contohnya plugin Yoast WordPress SEO.
Meskipun plugin SEO SearchTerms Tagging 2 ini sudah tidak pernah lagi di-update sejak tahun 2011, tetap saja masih banyak blogger yang masih menggunakannya, dengan tujuan untuk melipatgandakan trafik kunjungan ke situs, dan bagi yang hobi coding, tidak sedikit juga yang melakukan oprek kecil-kecilan terhadap plugin ini.
Berbicara tentang oprek, ini ada permintaan sobat blogger untuk ngoprek sedikit plugin ini agar ada fitur untuk injeksi manual keyword ke dalam database. Oprek ini tidak secara langsung saya terapkan ke dalam plugin STT2, akan tetapi melalui plugin tambahan (add-ons/extension) yang harus diinstall. Jadi, core plugin STT2 tidak terganggu sama sekali dan tidak ada yang perlu dioprek.
Fitur manual injeksi keyword ini akan tampil di area setting plugin STT2 langsung. Masih versi 1.0, mohon reportnya for any thing such as bugs, security, or vulnerability issue.
Last but not least.. are*****7[at]g****.com thanks for your PP donate, I really appreciate it.