Почему страницы с URL точно таким же, как у слага кастомного типа записи, не создаются?

Как зарегистрировать кастомный тип записи "solutions" с соответствующей таксономией "solutions-list" в WordPress, включая все необходимые параметры для определения таксономии и типа записи, такие как метки, поддерживаемые функции и другие настройки?
  • 10 июля 2024 г. 13:32
Ответы на вопрос 2
1. Страницы с URL, точно такими же как у слага кастомного типа записи, не создаются, потому что WordPress использует слаги (часть URL после домена) для идентификации различных типов контента. Если слаг уже используется для определенного кастомного типа записи, то WordPress не создаст страницу с таким же URL, чтобы избежать конфликтов.

2. Чтобы зарегистрировать кастомный тип записи "solutions" с соответствующей таксономией "solutions-list" в WordPress, необходимо использовать функцию `register_post_type()` для типа записи и `register_taxonomy()` для таксономии. Пример кода для регистрации кастомного типа записи и таксономии:

```php
// Регистрация кастомного типа записи "solutions"
function register_solutions_post_type() {
    $labels = array(
        'name' => 'Solutions',
        'singular_name' => 'Solution',
    );
 
    $args = array(
        'labels' => $labels,
        'public' => true,
        'has_archive' => true,
        'supports' => array('title', 'editor', 'thumbnail'),
    );

    register_post_type('solutions', $args);
}
add_action('init', 'register_solutions_post_type');

// Регистрация таксономии "solutions-list" для кастомного типа записи "solutions"
function register_solutions_taxonomy() {
    $labels = array(
        'name' => 'Solutions Lists',
        'singular_name' => 'Solutions List',
    );

    $args = array(
        'labels' => $labels,
        'hierarchical' => true,
    );

    register_taxonomy('solutions-list', 'solutions', $args);
}
add_action('init', 'register_solutions_taxonomy');
```

Этот код регистрирует кастомный тип записи "solutions" с меткой "Solutions" и таксономию "solutions-list" с меткой "Solutions Lists" в админке WordPress. Также указываются поддерживаемые функции (title, editor, thumbnail) и другие параметры для определения типа записи и таксономии.

После добавления этого кода в файл functions.php вашей темы WordPress, необходимо обновить страницу администрирования WordPress, чтобы увидеть новый кастомный тип записи и таксономию в меню администрирования.
WP интерпретирует url example.com/solutions как запрос к архиву кастомного типа записей solutions, а не к отдельной странице. 

- Приоритет url - wp сначала проверяет, соответствует ли url какому либо типу записей или таксономии. В Вашем случае, solutions - это тип записи, поэтому wp пытается отобразить архив записей этого типа.
- Шаблоны архивов - wp использует шаблоны архивов для отображения списков записей определенного типа. Если у Вас нет специального шаблона для архива solutions, WordPress использует стандартный шаблон archive.php.
Похожие вопросы