本意是:
https://localhost/fhgroupauto/index.php?s=fb2&post_type=product&type_aws=true&id=1&filter=1
重写成
https://localhost/fhgroupauto/search/fb2
并获得 搜索参数 s, 传递给搜索页面.
由于使用add_rewrite_rule, 将无法获得$_GET[‘s’], 所以必须使用add_rewrite_tag 去获得这个参数,通过 $wp_query->query_vars[‘s’] 传递.但是不知道测试的时候, 却$wp_query->query_vars[‘s’] 获得的值为空.
下面是我写的URL重写的PHP代码:
function custom_rewrite_basic() {
add_rewrite_tag( ‘%s%’, ‘(.+)’ );
add_rewrite_rule(‘^search/(.+)/?$’, ‘index.php?s=$matches[1]&post_type=product&type_aws=true&id=1&filter=1’, ‘top’);
echo $wp_query->query_vars[‘s’];
}
add_action(‘init’, ‘custom_rewrite_basic’);