Совет от гуру
Сломал уже всю голову.
Подскажите,пожалуйста,каким способом лучше реализовать такое:
Вывод новых постов:
Один пост отдельно (с большой картинкой) и рядом пять постов
Далее идут Самые просматриваемые:
Две колонки,в каждой также пост отдельно (с большой картинкой) и под ним пять постов
Загвоздка в том ,что не могу сообразить как лучше и правильнее сделать именно такой вывод.
Попытался с помощью сортировки,но получается какая-то...т.е не устраивает что-то...
Признаюсь,что такое сделал на CMS DLE(там все проще намного),но хочу все-таки для сайта воспользоваться WP.
Решил сделать без плагинов,штатными средствами,с помощью сайдбаров.
С сортировкой вроде бы разобрался,но остаются вопросы: при post-page-pre при значении 1 отображается 2 поста; насколько столько сайдбаров будет влять на скорость и загрузку сайта в целом.
Что, в чем конкретно проблема?
Сделал так (front-page.php):


Сортировка постов:
SB-1 (выводится почему-то 2:
$args = array( 'posts_per_page' => 1, );
SB-2 (выводится почему-то 10):
$args = array( 'posts_per_page=5&offset=1' );
SB-3 (выводится почему-то 3:
$args = array( 'posts_per_page' => 2, );
SB-4 (выводится почему-то 10):
$args = array( 'posts_per_page=5&offset=2' );
И как все это победить,хз.
1) Какой функцией делаешь запрос?
2) Поищи фильтры pre_get_posts возможно где-то через этот хук меняются параметры запроса. Или это может быть плагин, или код левый какой-то.
<?php $args = array( 'posts_per_page' => ЗНАЧЕНИЕ, ); $query = new WP_Query( $args ); ?> <?php if ( $query->have_posts() ) : ?> <?php while ( $query->have_posts() ) : $query->the_post(); ?>
При 'posts_per_page' => 1 должна выводится одна запись! Раз этого не происходит, значит где-то запрос меняется уже внутри WP_Query. Тебе нужно найти какой код меняет запрос. См. WP_Query::get_posts().
Стесняюсь спросить даже.Куда вставлять этот код?
Полный код сайдбара который выводит 2 поста вместо 1:
<?php
$args = array(
'posts_per_page' => 1,
);
$query = new WP_Query( $args ); ?>
<?php if ( $query->have_posts() ) : ?>
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
<article itemscope itemtype="http://schema.org/Article">
<div class="post">
<a class="full-post" href="<?php the_permalink();?>">
<?php
$args = array(
'post_type' => 'attachment',
'numberposts' => 1,
'post_status' => null,
'post_parent' => $post->ID,
'exclude' => get_post_thumbnail_id()
);
$attachments = get_posts( $args );
if ( $attachments ) :
foreach ( $attachments as $attachment ) {
echo wp_get_attachment_image( $attachment->ID, 'full', false, array ("class" => "img-fluid img-thumbnail"));
};
else:
print '<img class="img-fluid img-thumbnail" src="'. get_bloginfo('template_directory'). '/images/no_image.jpg' . '" alt="no image" />';
endif;
?></a>
<div class="post-block">
<span class="post-title">
<a class="full-post" href="<?php the_permalink();?>"><?php the_title();?></a>
</span>
<div class="post-info">
<span><i class="fa fa-calendar"></i><?php the_time('j F Y');?></span>
<span><i class="fa fa-eye"></i><?php echo get_post_meta( $post->ID, 'views', true ); ?></span>
<span><i class="fa fa-commenting-o"></i><?php comments_number( '0', '1', '%'); ?></span>
</div>
<?php the_excerpt();?>
</div>
</div>
</article>
<?php endwhile; ?><?php endif; ?> Блин тебе наверное проще будет обратиться к специалистам. Код который ты скинул в целом норм, почему неправильно работает 'posts_per_page' нужно выяснить...
Не знаю как и почему,но стало все нормалек отображаться.Есть подозрение на что-то "прилетевшее" с постами отсюда,т.к после удаления всех тест-постов,стало норм...Больше никаких мыслей по этому поводу нету...


А в чем проблема конкретно, что именно не получается?