Intereting Posts
Как определить, была ли создана опция против пустой опции? Минимальная версия для WordPress Backbone «Согласование» или «Связывание» двух страниц WordPress: пользовательские поля? Какой код следует использовать для отображения дочерних элементов настраиваемого сообщения? Проблема с плагином набора инструментов в WordPress Используйте <? Php echo $ _GET ; ?> отслеживать рефералов Перейдите в Checkout и обновите корзину Почему плагин WordPress Twitter Tools дает 500 внутренних ошибок сервера? Насколько важны теги WordPress для целей SEO? Отфильтровать сообщения на новой странице Есть ли способ создать невидимые страницы? Как я могу найти причину сбоя темы Apache в Xampplite? Правильное форматирование post_date для wp_insert_post? Использование групп тегов: отображение групп и смежных тегов текущего сообщения Возврат всех параметров переключателя при использовании дополнительных пользовательских полей

Правильный способ создания пользовательской страницы целевой страницы или страницы архива

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

Если я хочу иметь целевую страницу для настраиваемого типа сообщений, однако я хочу, чтобы страница архива содержала редактируемый контент (т. Е. Была физическая страница). Мне нужно будет создать собственный шаблон для моей страницы архива. Эта проблема заключается в том, что отношения этой страницы к типу пользовательских сообщений отсутствуют. Поэтому теперь мне нужно установить архив в false, а правило перезаписи – в соответствии с типом настраиваемого типа сообщений. Также при просмотре отдельной страницы типа почтового сообщения меню не знает, что пользовательская целевая страница активна.

У кого-нибудь есть логическое решение для этого?

Solutions Collecting From Web of "Правильный способ создания пользовательской страницы целевой страницы или страницы архива"

В этой ситуации я создаю собственный шаблон страницы, например tpl-archive-page.php . Например, используя дополнительные пользовательские поля и поле выбора типа Post (*), пользователь может выбрать тип сообщения для подключения.

 <?php /** * Template Name: CPT Archive Page */ get_header(); while (have_posts()) : the_post(); get_template_part('content', 'page'); $archive_query_post_type = get_post_meta(get_queried_object_id(), 'cpt_archive_query_post_type', true); if( $archive_query_post_type && is_string($archive_query_post_type) ) { $args = array( 'post_type' => $archive_query_post_type, 'posts_per_page'=> -1, 'orderby' => 'title', ); $archive_query = new WP_Query( $args ); if ( $archive_query->have_posts() ) { while ( $archive_query->have_posts() ) { $archive_query->the_post(); get_template_part('content', get_post_type() ); } } wp_reset_postdata(); } endwhile; get_footer(); 

Параметр has_archive при регистрации настраиваемого типа сообщения должен быть установлен в false .


(*) Если вы используете ACF5 / Pro, рассмотрите эту вилку поля.

Я бы…

  1. Создайте CPT, зарегистрированный с помощью 'has_archive' => false и используйте это как источник для редактируемого контента.
  2. Или используйте простую «страницу», если вы предпочитаете
  3. Затем создайте archive-{cpt-name}.php в теме и запросе в этом шаблоне для данных CPT контента или для данных «Страница».