Exclude admin di recent comments widget WordPress

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.


 Share

Membuat parameter baru search query WordPress

Parameter query search result WordPress basic-nya menggunakan "?s=", tapi bagaimana jika kita ingin membuat parameter baru lainnya berdasarkan hasil pencarian WordPress.

Misalnya, kita ingin membuat parameter query seperti ini (Demo):
http://www.jevuska.com/?p=list&q=injeksi+manual+keyword

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.

PS: post ini adalah hasil request sobat blogger.


 Bagikan