お世話になっております。
https://sitename.com/category/item/brands/brand-name/
というカテゴリ構造のURLを
https://sitename.com/brand-name/
と調整する為、functions.phpに以下を明記してURLをリライトしております。
add_filter('user_trailingslashit', 'remcat_item');
function remcat_item($link) {
return str_replace("category/item/", "/", $link);
}
add_filter('user_trailingslashit', 'remcat_brand');
function remcat_brand($link) {
return str_replace("brands/", "/", $link);
}
add_action('init', 'remcat_flush_rules');
function remcat_flush_rules() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_filter('generate_rewrite_rules', 'remcat_rewrite');
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;
}
こちらによって、意図したURLにて表示する事ができ、ペイジャーも動くような構造が実現できたかと思われたのですが、カテゴリーによってcategory.phpをよんでいる場合と、single.phpをよんでいるものがあり、こうなってしまう原因が分かりません。カテゴリを追加したり並び替えをしている間に、上記コードを挿入したり作業していたので、どの作業更新タイミングでなってしまったのか分かりませんが、改善策はありますでしょうか?
https://sitename.com/brand-AAA/ (single.php)
https://sitename.com/brand-BBB/ (category.php)
というような状態が「投稿/カテゴリ」の中でおきている。
現状のコードがfunctions.phpに設置されている状態にて、新規で追加したカテゴリについてはcategory.phpをよんでおり正常に動作します。
すてにsingle.phpをよんでしまっているカテゴリについては、一度削除して再度作成しても、single.phpをまたよんでしまいます。クイック編集でbrand-AAAをbrand-AAA2とするだけで改善されます。
確定で必須のslug名となり、別の名称では作れないので何とか改善したいのですが、何か方法ありますでしょうか?
よろしくお願いいたします。
ー
WordPress のバージョン 5.8.1
Welcart のバージョン:Version 2.3.3
ご利用のテーマ:自己テーマ
症状を確認したブラウザ:Google Chrome
サーバー:xserver
WordPress のパーマリンク設定:/contents/