Intereting Posts
Организатор событий разбивает тему Почему название категории / тега имеет префикс заголовка каждой страницы? Могу ли я изменить, какие поля отображаются в форме комментариев? Связывание между страницами в wordpress Я изменил Functions.php и теперь получаю «невозможно декодировать необработанные данные NSURLErrorDomain: -1015» (не пусто) wp_nonce_url для users.php для удаления пользователя, не работающего Показывать просмотры и страницы для клиентов Отображать пользовательский тип сообщения из шаблона Разница между кэшированием фрагментов и wp_cache Как проверить активную тему – родительский или дочерний wordpress Обновление страницы не будет иметь никакого эффекта Изменение ссылки «просмотр» для пользовательского типа сообщения на экране списка сообщений? Отображать пользователя мета с помощью другой роли пользователя Страница блога, показывающая тот же контент, что и главная страница Запрашивать сообщения и фильтровать во время запроса по значению настраиваемого мета

WP_Query для получения сообщений в определенной категории и почтовом формате

Я пытаюсь использовать WP_Query или get_posts чтобы вытащить последнее сообщение, которое как в определенной категории, так и в определенном почтовом формате.

 <?php $singargs = array( 'numberposts' => 1, 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'category', 'field' => 'slug', 'terms' => array ( 'gift-of-the-day' ), ), array( 'taxonomy', => 'post_format', 'field' => 'slug', 'terms' => array( 'aside'), ) ) ); $singPost = new WP_Query( $singargs ); foreach ( $singPost as $post ) : setup_postdata($post); ?> <aside> <h2><?php the_title(); ?></h2> </aside> <?php endforeach; wp_reset_postdata(); ?> в <?php $singargs = array( 'numberposts' => 1, 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'category', 'field' => 'slug', 'terms' => array ( 'gift-of-the-day' ), ), array( 'taxonomy', => 'post_format', 'field' => 'slug', 'terms' => array( 'aside'), ) ) ); $singPost = new WP_Query( $singargs ); foreach ( $singPost as $post ) : setup_postdata($post); ?> <aside> <h2><?php the_title(); ?></h2> </aside> <?php endforeach; wp_reset_postdata(); ?> в <?php $singargs = array( 'numberposts' => 1, 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'category', 'field' => 'slug', 'terms' => array ( 'gift-of-the-day' ), ), array( 'taxonomy', => 'post_format', 'field' => 'slug', 'terms' => array( 'aside'), ) ) ); $singPost = new WP_Query( $singargs ); foreach ( $singPost as $post ) : setup_postdata($post); ?> <aside> <h2><?php the_title(); ?></h2> </aside> <?php endforeach; wp_reset_postdata(); ?> 

Что я здесь делаю неправильно?

Solutions Collecting From Web of "WP_Query для получения сообщений в определенной категории и почтовом формате"

Две проблемы, которые я вижу: aside в aside post-format-aside и, поскольку вы используете переменный цикл foreach, new WP_Query( $singargs ); get_posts( $singargs ); поэтому ваш код будет выглядеть так:

 <?php $singargs = array( 'numberposts' => 1, 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'category', 'field' => 'slug', 'terms' => array ( 'gift-of-the-day' ), ), array( 'taxonomy', => 'post_format', 'field' => 'slug', 'terms' => array( 'post-format-aside'), ) ) ); $singPost = get_posts( $singargs ); foreach ( $singPost as $post ) : setup_postdata($post); ?> <aside> <h2><?php the_title(); ?></h2> </aside> <?php endforeach; wp_reset_postdata(); ?> в <?php $singargs = array( 'numberposts' => 1, 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'category', 'field' => 'slug', 'terms' => array ( 'gift-of-the-day' ), ), array( 'taxonomy', => 'post_format', 'field' => 'slug', 'terms' => array( 'post-format-aside'), ) ) ); $singPost = get_posts( $singargs ); foreach ( $singPost as $post ) : setup_postdata($post); ?> <aside> <h2><?php the_title(); ?></h2> </aside> <?php endforeach; wp_reset_postdata(); ?> в <?php $singargs = array( 'numberposts' => 1, 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'category', 'field' => 'slug', 'terms' => array ( 'gift-of-the-day' ), ), array( 'taxonomy', => 'post_format', 'field' => 'slug', 'terms' => array( 'post-format-aside'), ) ) ); $singPost = get_posts( $singargs ); foreach ( $singPost as $post ) : setup_postdata($post); ?> <aside> <h2><?php the_title(); ?></h2> </aside> <?php endforeach; wp_reset_postdata(); ?> 

Почему бы просто не использовать что-то вроде:

 $args = array('category' => 1 ); $all_posts = get_posts( $args); foreach ($all_posts as $this_post) { if ( has_post_format( 'aside' ) ) { echo '<aside><h2>' . $this_post->title . '</h2></aside>'; break; } } в $args = array('category' => 1 ); $all_posts = get_posts( $args); foreach ($all_posts as $this_post) { if ( has_post_format( 'aside' ) ) { echo '<aside><h2>' . $this_post->title . '</h2></aside>'; break; } } 

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

Извините, если я ошибаюсь!