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