Intereting Posts
Изменить условные заголовки, чтобы включить родительский и номер страницы Получить класс родительского списка для дочерних страниц с помощью Walker Добавление привязки к шаблону по умолчанию (page.php) Добавление класса body, когда сообщение содержит определенный короткий код Включение файлов jQuery и JavaScript правильным способом Запрос другой категории сообщений для соответствия текущей должности и отображения в цикле Скрыть / Показать только определенные категории в wp-admin new-post.php Пользовательский запрос wpdb – как сортировать сообщение по другой таблице meta_count Отображать только дочерние термины определенного родительского термина пользовательской таксономии для каждого пользовательского сообщения Как перенаправить определенный тип сообщения с ролью пользователя Пользовательский Архив сообщений не работает Использование save_post для замены заголовка сообщения Моя функция SQL для изменения имени пользователя Separete trackbacks / pings и пронумерованные комментарии Как сохранить плагин после обновлений?

Оптимизация цикла блога

У меня такой пост-цикл:

<?php global $post; $post = $post_object; setup_postdata( $post ); $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts(array( 'post_type' => 'post', // You can add a custom post type if you like 'paged' => $paged, 'posts_per_page' => 1 )); if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <div class="row single-post"> <div class="col-lg-2"> <div class="date"><?php the_time('dmY'); ?></div> </div> <div class="col-lg-9 content"> <?php the_post_thumbnail('post-thumbnail', array( 'class' => "img-responsive post-image")); ?> <h2><?php echo get_the_title(); ?></h2> <p class="single-content"><?php the_excerpt(); ?></p> <div class="post-meta"> <a href="<?php the_permalink(); ?>" title="Czytaj więcej" class="read-more">>> Czytaj więcej..</a> <p>Kategorie wpisu: <?php $category = get_the_category(); if($category[0]){ echo '<a href="'.get_category_link($category[0]->term_id ).'">'.$category[0]->cat_name.'</a>'; } ?></p> </div> </div> </div> <?php endwhile; wp_reset_postdata(); ?> <div class="center"><?php my_pagination(); ?></div> <?php else : ?> <div class="center">Nope:( no posts yet.</div> <?php endif; ?> 

Вопрос в том, можно ли как-то его оптимизировать? Мне нужно использовать setup / reset postdata, поскольку я использую его для создания списка наиболее часто просматриваемых сообщений .. спасибо

Solutions Collecting From Web of "Оптимизация цикла блога"

Прежде всего: не используйте query_posts

вместо этого используйте get_posts или new WP_Query .

Если вы хотите показывать только наиболее просматриваемые сообщения, вам нужно добавить действие (например, wp), проверьте, находится ли ваша страница на одной странице и обновляется метапоказ сообщений (+1). Тогда вы можете сделать что-то подобное

 $topViewedPosts = new WP_Query( array( 'post_type' => 'post', 'meta_key' => 'views', 'orderby' => 'meta_value_num', // sort by views 'order' => 'DESC', // sort 3 - 2 - 1 'posts_per_page' => 5 ) ); if( $topViewedPosts->have_posts() ) while( $topViewedPosts->have_posts() ) : $topViewedPosts->the_post(); // your content here endwhile; endif; wp_reset_postdata(); 

Возможно, я неправильно понял то, что вы ищете .. попытайтесь объяснить лучше, чем ..