前提・実現したいこと
お世話になっております
Wordpressで記事一覧を表示するサイトを作っています。
カテゴリのパーマリンクのルールを追加したことにより、
(function.phpに カテゴリ一覧のURLの/category/を削除を記述)
タグ一覧(index.phpにて表示)の2ページ目以降が404エラーとなってしまいました。
タグ名がカテゴリと勘違いされ404=対象ページなしと判断されているのかと思い
タグの2ページ目以降を表示するルールを追加できないかと悩んでおります
あちこちで似たような現象を見かけるのですが、解決策を見つけることができず涙
ご教授いただけますと幸いです・・・
発生している問題・エラーメッセージ
タグ一覧を表示し、ページネーションで2ページ目以降を指定すると404エラーになります
・https://(ドメイン名)/ -> OK
・https://(ドメイン名)/page/1/ -> OK(https://(ドメイン名)/にリダイレクト)
・https://(ドメイン名)/page/2/ -> OK
・https://(ドメイン名)/(カテゴリ名)/ -> OK
・https://(ドメイン名)/(カテゴリ名)/page/1/ -> OK(https://(ドメイン名)/(カテゴリ名)/にリダイレクト)
・https://(ドメイン名)/(カテゴリ名)/page/2/ -> OK
・https://(ドメイン名)/tag/(タグ名)/ -> OK
・https://(ドメイン名)/tag/(タグ名)/page/1/ -> 404 Not Found(404.phpが表示されます)
・https://(ドメイン名)/tag/(タグ名)/page/2/ -> 404 Not Found(404.phpが表示されます)
該当のソースコード
function.php
PHP
1function remcat_function($link) { 2 return str_replace("/category/", "/", $link); 3} 4add_filter('user_trailingslashit', 'remcat_function');//パーマリンクの文字列にフィルタをかける 5 6function remcat_flush_rules() { 7global $wp_rewrite; 8$wp_rewrite->flush_rules(); 9} 10add_action('init', 'remcat_flush_rules'); 11 12function remcat_rewrite($wp_rewrite) { 13 $new_rules = array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2)); 14 $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; 15} 16add_filter('generate_rewrite_rules', 'remcat_rewrite');//パーマリンクのルールを追加 17
試したこと
補足情報(FW/ツールのバージョンなど)
記事のパーマリンクはWPパーマリンク設定画面にて以下のように設定しています
ドメイン + /%category%/%post_id%/

回答1件
あなたの回答
tips
プレビュー