Целевая страница пользовательского типа Post выдает ошибку 404, несмотря на копирование из рабочего примера

#php #wordpress

#php #wordpress

Вопрос:

Я пытаюсь настроить пользовательский тип сообщения для сайта ClassicPress, и я использую код, который отлично работал на другом сайте WordPress, но не может заставить целевую страницу работать. Он продолжает выдавать ошибку 404.

  • Правописание правильное — я проверил дважды
  • Я специально назвал шаблон: архивы-семейства и односемейные
  • Я активировал этот плагин пользовательского типа сообщения в admin
  • отдельные страницы с одним семейством работают, но не / families
  • Я повторно сохранял постоянные ссылки несколько раз, но безуспешно

Не уверен, что еще попробовать, тем более, что это смоделировано по образцу рабочего примера.

  <?php
    /*
    Plugin Name: Family CPT
    */
    function create_post_type()
    {
        register_post_type('family', [
            'labels'  => [
                'name'          => __('Families'),
                'singular_name' => __('Family')
            ],
            'rewrite' => [
                'slug'       => 'families',
                'with_front' => false
            ],
            'menu_icon' => 'dashicons-nametag',
            'public'      => true,
            'has_archive' => true,
            'supports'    => [
                'title',
                'editor',
                'custom-fields'
            ]
        ]);
    }

    add_action('init', 'create_post_type');
  

Комментарии:

1. Возможно, попробуйте Administration Panels > Settings > Permalinks , измените структуру постоянных ссылок на другую структуру, сохраните изменения и измените ее обратно на желаемую структуру. codex.wordpress.org/Post_Types#Custom_Post_Type_Templates

2. Попробовал — к сожалению, не сработало

3. Попробуйте добавить 'rewrite' => array('slug' => 'families'), после has_archive … возможно, порядок может иметь значение.

4. Кроме того, проверьте: codex.wordpress.org/Function_Reference /…

5. Попробовал это. По-прежнему ничего. Это просто странно.

Ответ №1:

«Я специально назвал шаблон: архивы-семейства и односемейные»

Проблемы потенциально могут быть множественными в архивах. Вы должны назвать шаблон: archive-families.php или archive-family.php

Комментарии:

1. Это было решение! Большое спасибо 🙂