web-dev-qa-db-ja.com

GET変数がサイトの別のページで機能するときに、サイトの1ページのGET変数が404エラーを引き起こすのはなぜですか?

たとえば、私はサイトに20ページあります。そのうちの1つはベーコンと呼ばれ、もう1つは卵と呼ばれます。同じサイトで... breakfast.comと言うことができます

私は、パーマリンクを適切に設定し、卵を含むすべてのページでこれをうまく使ってきました。www.breakfast.com/eggs?cooked=scrambled。これは100%正常に機能します。

しかし、ソーセージと呼ばれるBreakfast.comの別のページに...これは、動作しません。 www.breakfast.com/sausage?type=spicy

これにより404エラーが発生します。私はそれが同じフォーマットなのでなぜそうなるのかわかりません。ページがWP-adminの自分のpagesディレクトリに存在することを確認しました。

GET変数を削除すると、ページは機能します。グーグルは私を助けていない。誰でも似たような経験がありますか?

3
wooWoowoo

WordPressには、で分類できないに使用できない予約語のリストがあります。あなたの質問から、私は「調理済み」は卵に適用される分類法であり、「タイプ」はソーセージに適用される分類法であると私は集める。残念ながら、 "type"はWordPressで予約されている用語なので、クエリ文字列の解釈は予想とは異なります。

予約語の全リストはCodexの にあります 。別の用語を使用してください...多分 "ソーセージタイプ" ...あなたの分類法のためにあなたは明確になるはずです。

10
EAMann

次のように、Wordpressでパラメーターを登録するまで、クエリパラメーターで一貫性のない動作が見られました。

function add_query_vars_filter( $vars ) {
        $vars[] = "cooked";
        return $vars;
    }
    add_filter( 'query_vars', 'add_query_vars_filter' );

詳細はこちら: Codexのget_query_var

0