我使用Nice Search将?s=query
次搜索重定向到WordPress中的/search/query
:
function pretty_search_redirect() {
global $wp_rewrite;
if ( !isset( $wp_rewrite ) || !is_object( $wp_rewrite ) || !$wp_rewrite->using_permalinks() )
return;
$search_base = $wp_rewrite->search_base;
if ( is_search() && !is_admin() && strpos( $_SERVER['REQUEST_URI'], "/{$search_base}/" ) === false ) {
wp_redirect( home_url( "/{$search_base}/" . urlencode( get_query_var( 's' ) ) ) );
exit();
}
}
add_action( 'template_redirect', 'pretty_search_redirect' );
这很有效。感谢Nice Search插件的作者!
我现在的目标是为我的用户搜索做同样的事情。我尝试将/people/?q=query
重定向到/people/query
。
以下是我的人员搜索表单:
<form role="search" method="get" action="/people/">
<input type="search" value="" name="q" title="Search" />
<input type="submit" value="Search" />
</form>
以下是我的搜索查询:
// get the search query
$search = ( isset( $_GET["q"] ) ) ? sanitize_text_field( $_GET["q"] ) : false;
// get the page number
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
// items to display per page
$display = 1;
// calculate the offset
$offset = ( $paged - 1 ) * $display;
$args = array(
'role' => 'Author',
'search' => '*' . $search . '*',
'number' => $display,
'offset' => $offset,
'count_total' => true
);
$users = new WP_User_Query( $args );
如何修改Nice搜索代码以使其适合我的人物搜索?我希望我的用户搜索网址采用/people/query