サポート » 使い方全般 » リライトルールとページネーションについて

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター jim912

    (@jim912)

    $newrules[‘(.*)/(.*)/page/([0-9]{1,})/?$’] = ‘index.php?post_type=$matches[1]&initial=$matches[2]&paged=$matches[3]’;

    を追加すれば、絞り込んだ後も動作するかなと思いましたが、
    叶いませんでした。
    $query_stringを見ると、paged=2だけになり、home.phpが表示されているようです。


    Debug Bar
    などを用いて、絞り込んだ際にどのリライトルールが適用されているか確認してみましょう。

    リライトルールは、ルールに合致した時点のものが適用されるため、詳細な指定は、なるべく先に追加する必要があります。

    例えば、

    add_rewrite_rule('(.*)/(.*)$', 'index.php?post_type=$matches[1]&initial=$matches[2]', 'top');

    などは、非常に多くのケースで合致してしまうため、これ以下のリライトルールが適用されないといった事があり得ます。

    注) 固定ページなどが404になりかねませんね。

    トピック投稿者 scanner0928

    (@scanner0928)

    jim912様

    初めまして。
    アドバイスありがとうございます。

    add_rewrite_rule('(.*)/(.*)$', 'index.php?post_type=$matches[1]&initial=$matches[2]', 'top');

    確かに、これでは○○/○○/ に全部当てはまり、ご指示のような動作になりますね。
    phaasaa/○○/ のように、決め打ち?にしてみます。

    $newrules['(.*)/(.*)/page/([0-9]{1,})/?$'] = 'index.php?post_type=$matches[1]&initial=$matches[2]&paged=$matches[3]';

    この書き方自体は不具合がありますでしょうか。

    トピック投稿者 scanner0928

    (@scanner0928)

    jim912様

    今一度、資料等読みなおして気づきました。
    jim912様のサイトや資料、参考にさせていただいておりました。
    よくよく見れば、IDが同じでしたので、驚きこの追記した次第です。

    御サイトに有るように、Degug barは試してみたのですが、
    「Request」タブが出ず、途方にくれておったのですが、
    管理バーを出して、該当ページに行ってからの「Debug」だったのですね。。。
    今、気が付きました。
    これより、また検証と勉強致します。
    まずは御礼まで。

    いつも、情報ありがとうございます!

    トピック投稿者 scanner0928

    (@scanner0928)

    jim912様

    Debug barを見ながら作業し、ついに希望通りの動作になりました。
    ありがとうございます。

    function gmUrlRewrite(){
    	add_rewrite_rule('(phaasaa)/(.+?)/page/([0-9]{1,})/?$', 'index.php?post_type=$matches[1]&initial=$matches[2]&paged=$matches[3]', 'top');
    	add_rewrite_rule('(phaasaa)/page/([0-9]{1,})/?$', 'index.php?post_type=$matches[1]&paged=$matches[2]', 'top');
    	add_rewrite_rule('(phaasaa)/(.*)$', 'index.php?post_type=$matches[1]&initial=$matches[2]', 'top');
    }
    add_action( 'init', 'gmUrlRewrite' );

    とし、他と重複しないよう設定致しました。
    テンプレートの方は、paged=などの追記はしておりませんが、
    無事に動いておるようです。

    この度は本当にありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「リライトルールとページネーションについて」には新たに返信することはできません。