WordPress中的漂亮搜索网址

时间:2014-03-08 09:53:25

标签: php wordpress

我使用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

形式

0 个答案:

没有答案