本意是:
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’);