Intereting Posts
Проверьте, есть ли у сообщения изображение Запрос последних изображений в нескольких сообщениях Минимальные требования к размеру для избранного изображения? Как предотвратить дублирование сообщений с помощью wp_insert_post на single.php? Отображать значение настраиваемого поля пользовательской таксономии в одном сообщении? Можно ли изменить любой HTML / URL-адрес, возвращенный из the_category () Показать все сообщения под дочерней дочерней категорией в боковой панели на странице сообщений? Пользователь, вошедший в систему с внешнего входа, автоматически выходит из системы wp-admin Якорная ссылка на single.php posts_nav_link на single.php Как загрузить следующие и предыдущие сообщения от Ajax Пользовательский тип сообщения не будет регистрироваться Проверить, находится ли ключ в массиве user_meta Используйте контактную форму 7 с Ajax Как лучше всего включить область виджета только на главной странице?

Пользовательский цикл блога на домашней странице

Я хотел посмотреть, можно ли отображать «новейшую» запись из всех категорий сообщений верхнего уровня на домашней странице, используя args в цикле? См. Http://blog.reneerouleau.com/dev/, например, о том, что я сейчас создал. Я запускаю shoestrap wp.

<?php wp_reset_query(); $cats = get_categories(''); foreach ($cats as $cat) : if($cat->category_parent) continue; //this line avoids to show posts of sub categories $args = array( 'posts_per_page' => 1, 'category_name' => $cat->slug,); query_posts($args); // reset to original ?> 

UPDATE Все еще не работает с обновленным обновленным кодом. Думаю, мне, возможно, понадобится добавить это, если у вас есть пост-цикл в вышеприведенном новом коде – любая идея?

 <?php get_template_part( 'templates/page', 'header' ); ?> <div id="blogContainer"> <?php do_action( 'shoestrap_index_begin' ); ?> <?php if ( !have_posts() ) : ?> <div class="alert"> <?php _e( 'Sorry, no results were found.', 'shoestrap' ); ?> </div> <?php get_search_form(); ?> <?php endif; ?> <?php $cats = get_categories('parent=0'); foreach ($cats as $cat) : $args = array( 'posts_per_page' => 1, 'category__in' => array( $cat->term_id ) ); $top_cat_query = new WP_Query($args); if( $top_cat_query->have_posts() ) while( $top_cat_query->have_posts() ) : $top_cat_query->the_post(); //output endwhile; wp_reset_postdata(); //..etc.. endforeach; ?> <?php while ( have_posts() ) : the_post(); ?> <?php do_action( 'shoestrap_in_loop_start_action' ); ?> <?php get_template_part( 'templates/content', get_post_format() ); ?> <?php endwhile; ?> </div> <div id="temp"> </div> <div> <?php if ( $wp_query -> max_num_pages > 1 ) : ?> <nav class="post-nav"> <ul class="pager"> <li class="previous"><?php next_posts_link( __( '&larr; Older posts', 'shoestrap' ) ); ?></li> <li class="next"><?php previous_posts_link( __( 'Newer posts &rarr;', 'shoestrap' ) ); ?></li> </ul> </nav> <?php endif; ?> </div> <?php do_action( 'shoestrap_index_end' ); ?>' 

  • не используйте query_posts() для вторичных циклов. Когда вы должны использовать WP_Query vs query_posts () и get_posts ()?
  • получать только категории верхнего уровня
  • использование 'category__in' не должно получать сообщения из дочерних категорий

например:

 <?php $cats = get_categories('parent=0'); foreach ($cats as $cat) : $args = array( 'posts_per_page' => 1, 'category__in' => array( $cat->term_id ) ); $top_cat_query = new WP_Query($args); if( $top_cat_query->have_posts() ) while( $top_cat_query->have_posts() ) : $top_cat_query->the_post(); //output endwhile; wp_reset_postdata(); //..etc.. endforeach; ?> 

(не испытано)