Страница архива Custom Post Type не отображается
У меня есть категория на сайте под названием 'profiles', и я в процессе переноса этой категории в пользовательский тип записей (custom post type) с названием 'profiles'.
Моя проблема в том, что я не могу получить отображение страницы архива для этого пользовательского типа записей. Когда я перехожу по URL mywebsite.com/profiles
, он перенаправляет меня на страницу отдельной записи из категории profiles.
Я включил has_archive = true;
в мой functions.php
У меня не было проблем с созданием страницы архива для другого пользовательского типа записей на этом же сайте, поэтому я действительно не понимаю, почему это не работает в этот раз.
Буду признателен за любой совет!
add_action( 'init', 'profile_custom_init' );
/* Вот как создать свои настраиваемые метки */
function profile_custom_init() {
$labels = array(
'name' => _x( 'Профили', 'общее название типа записи' ), // Совет: _x('') используется для локализации
'singular_name' => _x( 'Профиль', 'единственное число названия типа записи' ),
'add_new' => _x( 'Добавить новый', 'Профиль' ),
'add_new_item' => __( 'Добавить профиль' ),
'edit_item' => __( 'Редактировать профиль' ),
'new_item' => __( 'Новый профиль' ),
'view_item' => __( 'Просмотреть профиль' ),
'search_items' => __( 'Искать профиль' ),
'not_found' => __( 'Профили не найдены' ),
'not_found_in_trash' => __( 'В корзине профили не найдены' ),
'parent_item_colon' => ''
);
// Создаем массив для $args
$args = array( 'labels' => $labels, /* ОБРАТИТЕ ВНИМАНИЕ: здесь используется переменная $labels... */
'public' => true,
'publicly_queryable' => true,
'has_archive' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => 10,
'supports' => array( 'title', 'editor','thumbnail', 'excerpt', 'custom-fields' ),
'taxonomies' => array('category')
);
register_post_type( 'profile', $args ); /* Регистрируем его и двигаемся дальше */
}
- Перейдите в Настройки -> Постоянные ссылки
- Измените структуру постоянных ссылок на По умолчанию
- Сохраните настройки
- Измените на пользовательскую структуру или имя записи (или любую другую структуру)
- Сохраните настройки
Это перезапишет файл htaccess, и перезапись должна заработать.
Если приведенное выше решение не работает - это может быть связано с настройкой сервера.
Apache2
Выполните: a2enmod rewrite && service apache2 reload
Nginx
Следуйте инструкциям: https://do.co/2LjCF8r
Надеюсь, это сэкономит ваше время.

Я ответил на этот вопрос раньше Нихила и подумал, что это будет полезно. Я не проверял с тех пор, как он опубликовал лучший ответ. Поэтому немного несправедливо обвинять меня в том, что я не отдал должное людям, которые дали ответ.

моя вина, я увидел март после октября и подумал, что это следующий год.. ваш краткий ответ в сочетании с этим выглядел как быстрая попытка присвоить заслуги.. мне следовало посмотреть внимательнее (сортировка по количеству голосов тоже не помогает при беглом просмотре), поставил вам плюс и на вопрос, и на ответ
