Как настроить открытие товара по URL категории?

Как настроить правильные ссылки для созданного типа записей "Каталог" (/catalog/), чтобы рубрика открывалась по URL - /catalog/avto/ и товары - /catalog/avto/tovar, а не приводили к ошибке 404?
  • 30 января 2024 г. 14:28
Ответы на вопрос 1
Для настройки чистых URL-адресов с использованием пользовательских типов записей и таксономий в WordPress, вам нужно сначала убедиться, что у вас есть пользовательские типы записей и таксономии, которые хорошо зарегистрированы, а также структура постоянных ссылок, которая соответствует вашим требованиям.

В большинстве случаев вам потребуется немного кода в файле `functions.php` темы, либо использовать плагин для создания пользовательских типов записей, который делает всю работу за вас.

Ниже приведен образец кода, который можно использовать для регистрации пользовательского типа записей (CTP) и пользовательской таксономии:

```php
add_action( 'init', 'create_post_type' );
function create_post_type() {
    // Регистрация пользовательского типа записи 'Каталог'
    register_post_type( 'catalog',
        array(
            'labels' => array(
                'name' => __( 'Каталог' ),
                'singular_name' => __( 'Товар' )
            ),
            'public' => true,
            'has_archive' => false,
            'rewrite' => array('slug' => 'catalog', 'with_front' => false),
            'supports' => array( 'title', 'editor', 'thumbnail' )
        )
    );
    
    // Регистрация таксономии 'Категории' для Каталога
    register_taxonomy(
        'catalog_category',
        'catalog',
        array(
            'label' => __( 'Категории' ),
            'rewrite' => array( 'slug' => 'catalog', 'with_front' => false, 'hierarchical' => true ),
            'hierarchical' => true,
        )
    );
}
```

Также важно обновить постоянные ссылки после внесения изменений в пользовательские типы записей и таксономии, чтобы правила ЧПУ (человеко-понятные URL) обновились. Чтобы сделать это, перейдите в раздел "Постоянные ссылки" в административной панели WordPress (`Settings -> Permalinks`) и просто нажмите кнопку "Сохранить изменения".

Если после выполнения этих шагов ссылки все еще приводят к ошибке 404, убедитесь, что ваш веб-сервер правильно настроен для работы с файлом `.htaccess`, который используется для перезаписи URL в WordPress. Если вы используете nginx, вам могут понадобиться специфические правила для перезаписи URL.

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