Страница пользовательской таксономии переадресации 404

Вопрос или проблема

У меня есть пользовательский тип записи ‘BLOG’. Я создал файл archive-blog.php для отображения архивов. Также я зарегистрировал таксономию с названием ‘blog-category’ и создал страницу ‘taxonomy-blog-category’, но при нажатии на термины этой таксономии я перенаправляюсь на страницу 404. Похоже, это проблема с постоянными ссылками. Я сохранил постоянные ссылки и вызвал rewrite_flush(), но это тоже не сработало. Буду признателен за любую помощь. Надеюсь, что получу положительный ответ с вашей стороны. Спасибо заранее.

Таксономия имеет правило перезаписи с названием ‘category’. Я изменил его на другое название и назвал ‘blog-category’, это сработает в моем случае.

Ответ или решение

Когда вы сталкиваетесь с проблемой перенаправления на 404 страницу для страницы пользовательской таксономии в WordPress, это может быть связано с несколькими факторами, связанными с настройками переопределения (rewrite) и конфигурацией пользовательских типов записей и таксономий. Рассмотрим эту проблему более подробно и предложим несколько решений.

1. Проверьте регистрацию таксономии

Убедитесь, что вы правильно зарегистрировали вашу таксономию ‘blog-category’. Вот пример кода для регистрации таксономии:

function create_blog_taxonomies() {
    register_taxonomy('blog-category', 'BLOG', array(
        'labels' => array(
            'name' => _x('Категории блога', 'taxonomy general name'),
            'singular_name' => _x('Категория блога', 'taxonomy singular name'),
            'search_items' => __('Искать категории блога'),
            'all_items' => __('Все категории блога'),
            'parent_item' => __('Родительская категория блога'),
            'parent_item_colon' => __('Родительская категория блога:'),
            'edit_item' => __('Редактировать категорию блога'),
            'update_item' => __('Обновить категорию блога'),
            'add_new_item' => __('Добавить новую категорию блога'),
            'new_item_name' => __('Название новой категории блога'),
            'menu_name' => __('Категории блога'),
        ),
        'hierarchical' => true,
        'rewrite' => array('slug' => 'blog-category'), // Здесь указываем слаг
    ));
}
add_action('init', 'create_blog_taxonomies', 0);

Убедитесь, что функция register_taxonomy вызывается до использования функции flush_rewrite_rules().

2. Проверьте настройки постоянных ссылок

После изменения структуры постоянных ссылок или добавления новых записей и таксономий, всегда необходимо обновлять настройки постоянных ссылок. Для этого:

  • Зайдите в административную панель WordPress.
  • Перейдите в раздел «Настройки» → «Постоянные ссылки».
  • Нажмите кнопку «Сохранить изменения» (даже если вы ничего не меняли).

Это позволяет сбросить правила переопределения, исправляя возможные конфликты.

3. Проблемы конфликта с другими плагинами или темами

Иногда конфликты с другими плагинами или темами могут вызывать проблемы с возвратом 404 страниц. Чтобы исключить этот факт:

  • Отключите все плагины и проверьте, сохраняется ли ошибка.
  • Переключитесь на стандартную тему WordPress (например, Twenty Twenty-One) и проверьте, исчезла ли проблема.

Если ошибка исчерпывается, переключите компоненты один за другим, чтобы выявить источник конфликта.

4. Проверка файла archive-blog.php

Убедитесь, что файл archive-blog.php корректно обрабатывает запросы таксономии. Он должен содержать необходимые функции для вывода пользовательских записей:

if (have_posts()) :
    while (have_posts()) : the_post();
        // Ваш код для отображения записей блога
    endwhile;
else :
    echo '<p>' . __('Нет записей, соответствующих вашему запросу.') . '</p>';
endif;

5. Переопределение запросов

При необходимости можно попробовать добавить дополнительные правила переопределения в функции вашей темы или плагина:

function custom_rewrite_rule() {
    add_rewrite_rule('^blog-category/([^/]*)/?', 'index.php?blog-category=$matches[1]', 'top');
}
add_action('init', 'custom_rewrite_rule');

Заключение

Следуя данным рекомендациям, вы сможете устранить проблему перенаправления на 404 страницу для пользовательской таксономии ‘blog-category’. Если проблемы продолжаются, рассмотрите возможность обращения за помощью на специализированные форумы или к профессиональным разработчикам, указывая на все сделанные шаги и результаты. Это поможет быстрее идентифицировать и решить проблему.

Оцените материал
Добавить комментарий

Капча загружается...