WordpressでページとURLパラメータを使用してカスタムリダイレクトを書きたいと思います。基本的に/property/ABC123
はindex.php?pagename=property&my_id=ABC123
に行きます。これは私が持っているものですが、私は正規表現がオフだと思います。WordpressのURLを、文字と数字の両方を使用するクエリ変数で書き換えるにはどうすればよいですか?
public function custom_rewrite_tag() {
add_rewrite_tag('%my_id%', '([^&]+)');
}
public function custom_rewrite_rule() {
add_rewrite_rule('^property/([^/]*)/?', 'index.php?pagename=property&my_id=$matches[1]', 'top');
}
add_action('init', [$this, 'custom_rewrite_tag'], 10, 0);
add_action('init', [$this, 'custom_rewrite_rule'], 10, 0);
私のパーマリンクはリフレッシュされましたが、これは機能しません。私もアンダースコア(myid
)を削除しようとしましたが、それもうまくいきませんでした。私は間違って何をしていますか?
「機能しません」とはどういう意味ですか?あなたは404を手に入れていますか?エラー?他に何か? – maiorano84
@ maiorano84パラメータが選択されていません。 'error_log($ _ GET ['my_id'])'は 'false'を記録します。ただし、書き換えを行わずにパラメータを追加すると( 'http://example.com/property?my_id = ABC123')動作します。 –