検索結果への直接のきれいなリンクを作成するために、Wordpress で書き換えルールを作成しようとしています。
「オブジェクト」というカスタム投稿タイプを使用しています
私の結果ページは次の URL にあります: http://www.domain.com/objects/
新しいオブジェクトのリストを指すこの種の URL を作成したい: http://www.domain.com/objects/new
書き換えられたクエリは次のようにする必要があります: http://www.domain.com/objects/?filter=new
その後、$_GET['filter'] 値を使用してオブジェクト (meta_query) をクエリできるようになります...
私の問題
私はこのコードでこれを試みました:
add_rewrite_tag('%filter%','([^&]+)');
add_rewrite_rule('objects/new/','objects/?filter=new','top');
.htaccess は次のようになります。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^objects/new/ /objects/?filter=new [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
残念ながら、URL http://www.domain.com/objects/newにアクセスしようとすると、404 エラーが発生しました :(
デバッグ バーに次のように表示されます。
Request:
objects/new
Query String:
attachment=new
Matched Rewrite Rule:
[^/]+/([^/]+)/?$
Matched Rewrite Query:
attachment=new
Wordpress が添付ファイルを取得しようとする理由を誰か教えてもらえますか? 書き換えルールに何か問題がありますか、それとも何か不足していますか?
よろしくお願いします。