私は私のWordPressのインストールで私のfunctions.phpファイルにいくつかの簡単な書き換えを作成しています:
add_rewrite_rule('product1/faqs/?', 'index.php?name=product1-faqs', 'top');
ブラウザで "product1/faqs"を押すと、 "product1-faqs"の内容が正常に表示されますが、URLはproduct1/faqsとして保持されています(これは望ましいことです)が、POSTの場合のみです。
私がこれと同じテクニックを試してみるがPAGE上では、ブラウザのURLは "product1-faqs"と表示されてフリックしてしまいます。
何故ですか?書き換えが望みどおりに機能するようにするために、投稿だけに制限する必要はありません。
これは非常に簡単な解決策です - WP_Query は投稿とカスタム投稿タイプの投稿にname
変数を利用します。それはページのためにpagename
を利用します、それ故になぜ?name=product1-faqs
は動作しません。代わりにこれを使ってください。
add_rewrite_rule('product1/faqs/?', 'index.php?pagename=product1-faqs', 'top');