Membuat parameter baru search query WordPress

Cara membuat custome search query atau paramater kueri baru di blog WordPress dengan mudah.

Parameter Query Baru WP

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):
https://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 ( isset( $_GET['p'] ) && sanitize_key( $_GET['p'] ) == "list" && get_query_var('q') != "") {
		$query->set('post_status', 'publish');
		$query->set('post_type', 'post');
		$query->set( 's', sanitize_text_field( $query->query_vars['q'] ) );

//add filter to wp_title base on q parameter
//WP 4.4 use 'document_title_parts'

		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.

Update 04-02-2016:
Sanitize code.

Author: Jevuska

Rachmanuddin Chair Yahya a.k.a Jevuska is the founder of Jevuska.Com, a qualified web about offering medical articles, blogging, tips, and tutorial of WordPress. Having written for Jevuska since 2007.

3 thoughts on “Membuat parameter baru search query WordPress”

  1. Om jev.. bagaimana menampilkan search result dibawah postingan. adapun query dari title post itu sendiri, mirip related artikel, bukan berdasarkan tag dan kategory tapi keyword…

Leave a Reply

Your email address will not be published. Required fields are marked *

Use tag [php] to add code, e.g. [php]<?php echo $var; ?>[/php]