ShelestovAnt
@ShelestovAnt
Верстаю и программирую

Почему не работает page.php при таких настройках таксономии?

Народ всем привет.
Проблема следующая:
Регистрирую произвольный тип записи с таксономиями(лишнее убрал чтобы меньше занимало)
register_taxonomy('cart_cat', array('cart_post'), array(
        'label'                 => 'Категория карточки', // определяется параметром $labels->name
        'labels'                => array(
...
        ),
        //'rewrite'               => true,
        'rewrite'               => array('slug'=>'/', 'hierarchical'=>true, 'with_front'=>true, 'feed'=>false ),
    ) );

и вот в параметре rewrite.slug указал '/' чтобы на сайте не выводились url типа cart_cat/{категория}, а так просто сразу категория выводится.
Но как выяснилось из-за этого не работает page.php, просто 404 выдает
Хотя page-main.php - шаблон главной работает.
Могли бы подсказать что делать, т.к. в ЧПУ правилах не сильно силен(
  • Вопрос задан
  • 298 просмотров
Пригласить эксперта
Ответы на вопрос 2
@niriter
User
у тебя до того был файл в cart_cat/{категория}, ты же поменял его на свою там где нету этого файла. 1-Х - верни обратно урл и попробуй работает или нет, после напиши сюда!
Ответ написан
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Не работает, потому что вы не поняли как работают rewrite_rules. WordPress находит первое совпадение из массива правил и дальше проверку обрывает. Поэтому, когда вы вводите адрес страницы, WordPress отработает правило категории, такой категории не найдет, поэтому и вернет ошибку. Страница запрошена не будет. Именно поэтому в пермалинках используется статическая permalink base - некий статический префикс (например, /categories/), который и позволяет разделить разные правила на группы. Вы же его сознательно убрали, чем и вызвали гнев богов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы