-
投稿者投稿
-
2023年9月6日 6:35 PM #130810
キタジマ様
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いいねをした人: 居ません2023年9月6日 7:02 PM #130811ダッシュボード → CPT UI → 登録済み → コードを取得
で表示されるコードも共有をお願いします。
♥ 0いいねをした人: 居ません2023年9月6日 7:05 PM #130813あ、今気づいたのですが、テーマが Snow Monkey じゃない場合は My Snow Monkey プラグインは有効化していたとしても処理が実行されないので、もし TwentyTwentyOne にしたときに category を削除するコードを My Snow Monkey から別の場所に書き換えたりしていないのなら、そのコードは実行されていないことになります。とりあえず TwentyTwentyOne の functions.php に貼り付けたりすれば実行されます。そのあたりは動作確認されましたかね?
♥ 0いいねをした人: 居ません2023年9月6日 7:42 PM #130815キタジマ様
以下URLよりカスタム投稿タイプのコードをダウンロードしていただけます。
TwentyTwentyOne の functions.phpに category を削除するコードを追加すると、コラムのアーカイブ2ページ目は404でした…
TwentyTwentyOne だから表示された訳ではありませんでした、すみません。
♥ 0いいねをした人: 居ません2023年9月6日 10:34 PM #130820となるとやはり追加しているコードに問題がありそうですね…。こちらの環境でも、いずれのテーマでも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いいねをした人: 居ません2023年9月7日 11:44 AM #130832キタジマ様
通常の投稿アーカイブにだけ適応させることはできないでしょうか。
以下のようにしましたが、上手くいきませんでした。
削除した場合と同じ結果(コラムの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いいねをした人: 居ません2023年9月7日 12:36 PM #130837ルーティングを定義し、そのルーティングに基づき表示すべきページが決定され、それでページが表示されるわけなので、ルーティングの段階で
is_archive()
等で分岐させることはできないのではないでしょうかね? 既存のルーティングを書き換えるなら、必要なルーティングを全部再定義するくらいの覚悟が必要な気がします…(とはいえ前にも書いたように僕はルーティングに詳しくないので、実際のところはわかりませんが♥ 0いいねをした人: 居ません2023年9月8日 11:47 AM #130850キタジマ様
ルーティングとは?というレベルですので、気が進みませんが、今回はプラグイン「No Category Base (WPML)」で対応しようかと思います。
2ページ目が表示されました。
このプラグインを検索したところ、批判的な記事は見当たりませんでしたが、何かご存知であれば教えていただけませんでしょうか。
よろしくお願いいたします。
2023年9月11日 9:25 PM #130953個人的には基本的にはこれまで書いてきたことと同じ意見です。利用者が多いプラグインなのでネット上の検証されていないコードよりは正しく動くように対策がされているとは思いますが、よほどの理由がない限りはルーティングは手を入れないほうが良いと考えています。
解決済みということで、トピックのクローズをお願いします!
♥ 0いいねをした人: 居ません2023年9月12日 11:50 AM #130986 -
投稿者投稿
- トピック「ページネーションのリンク先のアーカイブ2ページ目以降が表示されません。」には新しい返信をつけることはできません。