ページネーションのリンク先のアーカイブ2ページ目以降が表示されません。

0
いいねをした人: 居ません
  • このトピックには24件の返信、2人の参加者があり、最後に林淳一により1年、 2ヶ月前に更新されました。
10件の投稿を表示中 - 16 - 25件目 (全25件中)
  • 投稿者
    投稿
  • #130810
    林淳一
    参加者
    20

    キタジマ様

    Custom Post Type UI と My Snow Monkey 以外のプラグインを無効化しましたが、2ページ目は404でした。

     

    パーマリンク構造は、カスタム構造「/%category%/%postname%/」です。

    以下URLより my-snow-monkey.php をダウンロードしていただけます。

     

    以下が使用しているプラグインです。

    • Akismet Anti-Spam (アンチスパム)
    • All in One SEO
    • All-in-One WP Migration
    • Conditional Fields for Contact Form 7
    • Contact Form 7
    • Custom Post Type UI
    • Drag and Drop Multiple File Upload – Contact Form 7
    • Flamingo
    • Flexible Table Block
    • Podamibe Simple Footer Widget Area
    • Shortcodes Ultimate
    • Simple Lightbox
    • SiteGuard WP Plugin
    • WP Mail SMTP
    • WP Multibyte Patch
    • WP Revisions Control
    • WP SVG Images
    • WP-Members
    • WPForms Lite
    • XML Sitemap Generator for Google
    • Yoast Duplicate Post
    • My Snow Monkey
    • Snow Monkey Blocks
    • Snow Monkey Diet
    • Snow Monkey Editor
    0
    いいねをした人: 居ません
    #130811
    アバター画像キタジマ タカシ
    参加者
    2421

    ダッシュボード → CPT UI → 登録済み → コードを取得

    で表示されるコードも共有をお願いします。

    0
    いいねをした人: 居ません
    #130813
    アバター画像キタジマ タカシ
    参加者
    2421

    あ、今気づいたのですが、テーマが Snow Monkey じゃない場合は My Snow Monkey プラグインは有効化していたとしても処理が実行されないので、もし TwentyTwentyOne にしたときに category を削除するコードを My Snow Monkey から別の場所に書き換えたりしていないのなら、そのコードは実行されていないことになります。とりあえず TwentyTwentyOne の functions.php に貼り付けたりすれば実行されます。そのあたりは動作確認されましたかね?

    0
    いいねをした人: 居ません
    #130815
    林淳一
    参加者
    20

    キタジマ様

    以下URLよりカスタム投稿タイプのコードをダウンロードしていただけます。

    TwentyTwentyOne の functions.phpに category を削除するコードを追加すると、コラムのアーカイブ2ページ目は404でした…

    TwentyTwentyOne だから表示された訳ではありませんでした、すみません。

    0
    いいねをした人: 居ません
    #130820
    アバター画像キタジマ タカシ
    参加者
    2421

    となるとやはり追加しているコードに問題がありそうですね…。こちらの環境でも、いずれのテーマでも404になることを確認できました。

    My Snow Monkey に追加されているコードを見ていて、下記が気になりました。

    function remcat_rewrite($wp_rewrite) {
    	$new_rules = array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
    	$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
    }
    add_filter('generate_rewrite_rules', 'remcat_rewrite');

    リライトには詳しくないので具体的にどうしたら良いかはわからないのですが、リライトルールの先頭に array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2)); を追加していますよね。これ多分 URL に /page/ が含まれていたらクエリに category_name を追加する的な意味なのかなと。そうすると各アーカイブページの2ページ目以降を開こうとするとカテゴリーページを探すことになっちゃうのかな?と思うので、おそらくこれが邪魔している気がします。が、このコードも何か必要があって追加していると思うので、消せば良いという話なのかはちょっとわからないですね…。

    0
    いいねをした人: 居ません
    #130832
    林淳一
    参加者
    20

    キタジマ様

    通常の投稿アーカイブにだけ適応させることはできないでしょうか。
    以下のようにしましたが、上手くいきませんでした。
    削除した場合と同じ結果(コラムの2ページ目は表示されましたが、他の投稿アーカイブは2ページ目が404)でした。

    
    function remcat_rewrite($wp_rewrite) {
    if (is_archive()) {
    $new_rules = array('(.+)/page/(.+)/?' => index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
    $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
    }
    }
    
    add_filter('generate_rewrite_rules', 'remcat_rewrite');

    `

    0
    いいねをした人: 居ません
    #130837
    アバター画像キタジマ タカシ
    参加者
    2421

    ルーティングを定義し、そのルーティングに基づき表示すべきページが決定され、それでページが表示されるわけなので、ルーティングの段階で is_archive() 等で分岐させることはできないのではないでしょうかね? 既存のルーティングを書き換えるなら、必要なルーティングを全部再定義するくらいの覚悟が必要な気がします…(とはいえ前にも書いたように僕はルーティングに詳しくないので、実際のところはわかりませんが

    0
    いいねをした人: 居ません
    #130850
    林淳一
    参加者
    20

    キタジマ様

    ルーティングとは?というレベルですので、気が進みませんが、今回はプラグイン「No Category Base (WPML)」で対応しようかと思います。

    2ページ目が表示されました。

    このプラグインを検索したところ、批判的な記事は見当たりませんでしたが、何かご存知であれば教えていただけませんでしょうか。

    よろしくお願いいたします。

    1
    いいねをした人:
    #130953
    アバター画像キタジマ タカシ
    参加者
    2421

    個人的には基本的にはこれまで書いてきたことと同じ意見です。利用者が多いプラグインなのでネット上の検証されていないコードよりは正しく動くように対策がされているとは思いますが、よほどの理由がない限りはルーティングは手を入れないほうが良いと考えています。

    解決済みということで、トピックのクローズをお願いします!

    0
    いいねをした人: 居ません
    #130986
    林淳一
    参加者
    20

    キタジマ様

    今回もご丁寧に教えていただきありがとうございます。

    トピック閉じます。

    1
    いいねをした人:
10件の投稿を表示中 - 16 - 25件目 (全25件中)
  • トピック「ページネーションのリンク先のアーカイブ2ページ目以降が表示されません。」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。