pastekan kode dibawah dibagian functions :
-----------------------------------------------------------------
// change global search rules search page, paged and feed
add_action( 'init', 'jv_change_search_base_wp' );
function jv_change_search_base_wp()
{
global $wp_rewrite;
$search_base = 'topik'; // search_base
if ( $wp_rewrite->search_base != $search_base )
{
$wp_rewrite->search_base = $search_base;
$wp_rewrite->search_structure = $wp_rewrite->search_base . '/%search%';
}
return $wp_rewrite;
}
// adding a new rule for empty search query
add_filter( 'search_rewrite_rules', 'jv_additional_search_rewrite_rules', 10, 1 );
function jv_additional_search_rewrite_rules( $rules )
{
global $wp_rewrite;
$new_rules = array(
user_trailingslashit( $wp_rewrite->search_base ) . '?$' => 'index.php?s=' . $wp_rewrite->preg_index(1),
);
$rules = $rules + $new_rules;
return $rules;
}
// flush_rules() if our rules are not yet included
add_action( 'wp_loaded', 'jv_flush_rules' );
function jv_flush_rules()
{
global $wp_rewrite;
$rules = get_option( 'rewrite_rules' );
$search_base = 'topik'; // search_base
if ( ! isset( $rules[ $search_base . '/(.+)/?$'] ) )
$wp_rewrite->flush_rules();
}
// redirect ?s= to search base
add_action( 'template_redirect', 'jv_template_redirect' );
function jv_template_redirect()
{
if ( is_search() && isset ( $_GET['s'] ) )
{
global $wp_rewrite;
$s = sanitize_text_field( $_REQUEST['s'] ); // or get_query_var( 's' )
$location = '/';
$location .= trailingslashit( $wp_rewrite->search_base );
$location .= ( ! empty ( $s ) ) ? sanitize_title_with_dashes( $s ) . '.html' : ''; // sanitize search query with dashes
$location = home_url( $location );
wp_safe_redirect( $location, 301 );
exit;
}
}
add_action( 'parse_request', 'jv_parse_request' );
function jv_parse_request( $query )
{
if ( ! is_admin() && isset( $query->query_vars['s'] ) )
{
$s = jv_remove_char( $query->query_vars['s'] );
$query->set_query_var( 's', $s );
}
}
function jv_remove_char( $q = null )
{
$q = sanitize_title_with_dashes( urldecode( $q ), '', 'save' );
$q = wp_strip_all_tags( $q );
$q = preg_replace( '/&#?[a-z0-9]+;/i','', $q );
$q = preg_replace( '/[^%A-Za-z0-9 _-]/', ' ', $q );
$q = preg_replace( '/&.+?;/', '', $q );
$q = preg_replace( '/_+/', ' ', $q );
$q = preg_replace( '/s+/', ' ', $q );
$q = preg_replace( '|-+|', ' ', $q );
$q = urlencode( trim( $q ) );
return $q;
}