web-dev-qa-db-ja.com

なりません

入力した郵便番号に最も近い店舗を基本的に見つける独自の検索機能を作成しました。

私の検索用URLは現在このhttp://www.example.com/stores?searchTerm=Londonのように見えますが、これは実際にはSEOにはあまり適していません。私のURLはhttp://www.example.com/stores/Londonの形式にしたいのですが、WordPressのURL書き換えがどのように機能するかについての知識が不足しているため、この問題を解決するための手助けが必要です。

ストアは結果をループするページです。

誰かがこれを行う方法について何かアイデアを持っているか、正しい方向に私を指すことができればそれは大歓迎です。

4
Codarz360

最初にあなた自身のカスタムクエリ変数を追加する必要があります。

function add_search_store_query_var($vars) {
    $vars[] = 'search_store';
    return $vars;
}
add_filter( 'query_vars', 'add_search_store_query_var');

そして書き換えルールを追加します。

function add_search_store_rewrite_rule() {
    add_rewrite_rule('stores/([^/]+)$', 'index.php?page_id=<YOUR SEARCH PAGE ID>&search_store=$matches[1]', 'top');
}
add_action('init', 'add_search_store_rewrite_rule');

それからget_query_var('search_store');を使って検索語を得ることができます。

確認する前に、書き換えルールをフラッシュすることを忘れないでください - ルールをフラッシュしないと機能しません。 (パーマリンク設定に行き、保存をクリックしてください)。

PS。ここに直接コーディングしたので、少しバグがある可能性があります。

1