Пишу сайт на wordpress. Будет нестандартный сайт каталог. Создал свою таксономию для записей и категорий. т.е. аналогично как у wocommerce есть категории товаров и товары. Таксономия категорий называется company, таксономия товаров cop.
Создал файл шаблона для таксономии, даже несколько с одинаковым кодом archive.php, taxonomy-company.php,taxonomy.php . Создал меню из категорий товаров, ссылки которых имеют вид домен.ру/company/название категории(wordpress сам такие генерирует). По этим урлам выводятся товары. Все работает.
Когда в одной категории становится товаров больше фиксированного значения, то появляется пагинация. И тут появляется проблема: при переходе на другую страницу, url меняет вид домен.ру/company/название категории/page/2 , срабатывает файл шаблона index.php и возвращается 404 ошибка страница не найдена.
Как мне сделать что бы срабатывал нужный файл шаблона и сервер выдавал правильный ответ(не 404)?
asdal, сейчас уже больше опыта) могу не конкретное решение сказать, а подсказать путь)
В functions надо добавить скрипт
add_action('init', 'addMyRewrite');
function addMyRewrite()
{
global $wp_rewrite;
add_rewrite_rule('news?$', 'index.php?pagename=news', 'top');
add_rewrite_rule('news/page/([^/]*)/?$', 'index.php?pagename=news&paged=$matches[1]', 'top');
//$wp_rewrite->flush_rules();
}
С помощью его меняем маршрутизацию как надо. Нам нужно в функции add_rewrite_rule указать правила для урлов какого вида применять какой обработчик грубо говоря. Гуглите и смотрите примеры с add_rewrite_rule. $wp_rewrite->flush_rules() - нужно использовать что бы сбросить кэш маршрутизации.