Intereting Posts
Как атакующие записывают скрипт в мои php-файлы? Получить идентификатор сообщения из плагина защита паролем на нескольких страницах Почему `add_theme_support ('html5', array ('comment-form')` отключить проверку на стороне клиента? Возможность комментировать теги, которые представляют собой определенную «проблему», Замените заголовки сообщений / страниц на изображение в WordPress Пользовательские сообщения Запрос и meta_query Порядок сортировки Общее количество комментариев пользователя, исключая комментарии на свои собственные сообщения Проверьте, существует ли почта Получить все должности категории не в Перехват WP_MAIL для просмотра содержимого Страницы дочерних страниц в пользовательском типе сообщений отображаются пустым Как включить третий уровень с функцией wp_get_nav_menu_items Статическая страница Wonderflux Пользовательская ссылка для комментариев

Показать тип персонализированного типа категории 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; }