Intereting Posts
Каков наилучший способ настройки страницы меню WordPress (в админке) Возможности WP для добавления медиа, использования медиа, но не редактирования их Что заставляет wp_schedule_single_event срабатывать? Изменить изображение заголовка на определенной странице WP_Query: Meta_Query с сериализованным значением (или обходным путем) Добавить фильтр – переместить переменную (PHP <5.3) Может ли пользователь с ролью администратора получить «Извините, вы не можете перенести этот элемент на ошибку« Корзина »при обрыве сообщения? Подключение таксономии с типом сообщения как изменить предварительный просмотр списка статей одной категории? Тест модуля модулей для создания таблиц и вариантов Как сделать сообщения WordPress асинхронными Как создать API JSON на основе REST (как изменить код ниже)? Двадцать седьмой пользовательский раздел – один макет столбца WordPress .htaccess – перенаправить другие URL-адреса в другое приложение. Как разрешить комментаторам получать уведомления о ответах на свои комментарии?

Показать тип персонализированного типа категории X на странице архива категории X?

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

Таким образом, для каждой категории у меня есть одна запись заглавной страницы, помеченная этой категорией. Что мне нужно добавить к шаблону category.php категории, чтобы он показывал, какой контент (или пользовательский таксономия) используется для загрузки_страницы?

query_posts( array( 'posts_per_page' => 1, 'post_type' => landing_page, 'category' => [[???]] )); while (have_posts()) : the_post(); the_content(); endwhile; ?> 

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

 // Check if it's a category or taxonomy archive if( is_category() || is_tax() ) { // Grab the queried data, slug, tax, etc.. $queried = $wp_query->get_queried_object(); // Check taxonomy and slug are set if( isset( $queried->taxonomy ) && isset( $queried->slug ) ) { // Look for a landing page post type with a slug that matches the current queried slug $landing_page = get_posts( 'name=' . $queried->slug . '&post_type=landing_page&posts_per_page=1&nopaging=1' ); // If the result wasn't empty if( !empty( $landing_page ) ) { // Output the title and content using the same filters WP uses in the loop echo apply_filters( 'the_title', get_the_title( $landing_page->ID ) ); echo apply_filters( 'the_content', get_the_content( $landing_page->ID ) ); } } } 

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

Надеюсь, это поможет.

Вы можете получить текущую категорию с помощью

и поскольку вы используете archive.php, а не category.php, проверьте, является ли его категория первой так что-то вроде этого:

 if (is_category()){ query_posts( array( 'posts_per_page' => 1, 'post_type' => 'landing_page', 'category' => get_query_var('cat')); while (have_posts()) : the_post(); the_content(); endwhile; }