Intereting Posts
Как я могу получить «предыдущий» и «следующий», чтобы показывать в навигации помимо ссылок? Как я могу получить массив всех идентификаторов из текущего запрашиваемого объекта? Пользовательские страницы на основе каждого пользователя ID для сообщений / страниц блога Связывание пользовательских полей с записями базы данных Bestway для определения темы и пути плагина и URL-адреса Загрузите файл в форму переднего плана и отправьте как приложение электронной почты Проблема с правилом перезаписи URL-адреса Nginx Каков наилучший способ хранения изображений для плагина? breadcrumb не показывает правильную структуру страницы Можете ли вы использовать add_filter () внутри другой функции? Пользовательская пересылка типа сообщения – Страница не найдена Seach и категории, не работающие при игнорировании липких сообщений в основном контуре Получать сообщения meta_query по полю repater Список сообщений и категорий

Репликация иерархии страницы категории / местоположения

Поиск рекомендаций, рекомендаций или предложений для наиболее подходящей структуры страницы для веб-сайта.

Я переношу веб-сайт, который содержит около 1000 страниц в структуре / услуге / местоположении /. Есть 4 службы и около 250 мест

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

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

Я думал о настраиваемом типе сообщений, но пользовательский тип сообщения будет добавлять пул в начале (например, / custom-slug / service / location /), что будет означать, что мне нужно будет 301 перенаправить 1000 URL-адресов на новый сайт из / service / location / to / custom-slug / service / location /).

Я склоняюсь к созданию 4 пользовательских типов сообщений (4 службы), а затем создаю 250 настраиваемых сообщений на тип сообщений для клиентов – но мне не нравится мысль о том, что у администратора есть 4 дополнительных меню / раздела (я, вероятно, мог бы преодолеть это – но я думаю, что там должен быть более чистый способ) ИЛИ Просто иметь дело со категориями и сообщениями и игнорировать проблему «засорения» …

Есть ли у кого-нибудь рекомендации или предложения? Есть ли более подходящий способ сделать это?

Вы можете заставить CPT иметь «slugless» permalinks довольно легко:

register_post_type( 'service', [ 'hierarchical' => true, 'public' => true, // Other args, no need for "rewrite" ]); // Change service to top-level permalink. add_permastruct( 'service', '%service%', [ 'with_front' => false, 'paged' => false, 'feed' => false, ]); // Remove all default service rewrite rules. add_filter( 'service_rewrite_rules', '__return_empty_array' ); 

… который должен быть завернут в функцию и подключен к init . Затем, чтобы «поймать» эти типы сообщений, нам нужна небольшая магия pre_get_posts :

 add_action( 'pre_get_posts', function ( $wp_query ) { if ( $wp_query->is_main_query() && $wp_query->is_singular() && $wp_query->get( 'pagename' ) ) { if ( ! $post_type = $wp_query->get( 'post_type' ) ) $post_type = []; elseif ( ! is_array( $post_type ) ) $post_type = [ $post_type ]; $wp_query->set( 'post_type', array_merge( $post_type, [ 'page', 'service', ])); } }); 

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