私は以下のページを持っています。それは単一の投稿と多くのコメントを含みます:
http://mysite.com/tips
ユーザーがコメントを投稿したら、それにメタデータを追加して、次のURLを使用してコメントを絞り込むことができます。
http:// mysite/tips?id = cat&filter_id = 1
http:// mysite/tips?id = dog&filter_id = 2
代わりに次のURLを使用したいです。
http:// mysite/tips/cat
http:// mysite/tips/dog
ヒントページには、クエリ文字列パラメータに基づく投稿のリストが表示されます。
私は私が必要としているように思われたこのチュートリアルを通して働きました、しかし、私が私のURLをタイプインするとき、私はページが見つかりませんエラーを得ます。 http://thereforei.am/2011/10/28/advanced-taxonomy-queries-with-pretty-urls/ /
これは可能ですか?
次のような書き換え規則を追加できます。書き換えルールの変数が認識されるように、必ずパブリッククエリの変数をWordPressに登録してください。
add_rewrite_rule('^(tips)/([^/]*)/([^/]*)/?', 'index.php?name=$matches[1]&id=$matches[2]&filter_id=$matches[3]','top');
add_filter('query_vars', 'foo_my_query_vars');
function foo_my_query_vars($vars){
$vars[] = 'id';
$vars[] = 'filter_id';
return $vars;
}
パーマリンクをフラッシュするには、パーマリンク設定ページにアクセスしてください。
次のようにして変数にアクセスできます。
$id = get_query_var('id');
$filter_id = get_query_var('filter_id');
あなたは、まったく機能しない1つのURIセグメントを持つ2つの動的変数を持ちたいのです。上記の書き換え規則はtips/cat/1(1はfilter_id)に対して有効です。
あなたのルールをテストするために、 Monkeyman Rewrite Analyzer を使うことを強く勧めます。
これがあなたを助けてくれることを願っています!
add_query_arg
機能を使うことができます。
add_query_arg('filter_id', 1);
add_query_arg('filter_id', 2);
URLは次のようになります。
http://mysite/tips/cat?filter_id=1
http:// mysite/tips/dog?filter_id=2
引数の値は次のようにして取得できます。
$id = get_query_var('id');
$filter_id = get_query_var('filter_id');