Извращения и PageNavi

здравствуйте.

Используется такой код для вывода новостей одной категории на странице

<div style="margin:0 auto;margin-top:85px;" class="white1">
<?php
$posts_new = get_posts('category=1&numberposts=5');
foreach ($posts_new as $post_new) :
 echo '<span class="redhead"><a href="';
echo get_permalink($post_new->ID);
echo '"><span style="color:#BC0909;text-shadow:none;">';
echo $post_new->post_title;
echo '</span></a>';    
echo '</span><br /><span class="date">Опубликовано:&nbsp;';    
echo mysql2date('j.m.Y',  $post_new->post_date);
echo '</span><br /><br /><div class="divtext"><span class="spantext"><noindex>';
$str = $post_new->post_content;
echo mb_substr($str, intval($s), 500);
echo '</noindex>... <a href="';
echo get_permalink($post_new->ID);
echo '"><br /><span style="color:#BC0909;font-weight:500; text-decoration:underline;text-shadow:none;">Продолжить</span></a><br /><br /><br /></span></div>';
endforeach;  
?>

<?php twentytwelve_content_nav( 'nav-below' ); ?>

</div>

Мечтается о том, чтобы выводилось по 5 записей на странице. Установлен плагин PageNavi.

Плагин замечательно выводит внизу этой страницы пангинацию <<1.2.3>> и ссылки ведут соответственно на http://site.ru/news.htm/ , http://site.ru/news.htm/page/2/, http://site.ru/news.htm/page/3/, однако на каждой из этих страничек одни и те же ПЕРВЫЕ 5 записей.

На решение проблемы самостоятельно уйдут годы, прошу помочь в поиске – где и что заменить/убрать/добавить… 🙁

У вас в скрипте нет переменной offset, смотрите примеры в кодексе
Поищите примеры использования. Я бы отказался от конструкции get_posts в пользу query_posts. Посмотрите разницу. В кодексе есть примеры.

Оффтоп:
У вас тут код-то очень страшный, на самом деле HTML и PHP комбинируются очень легко.

Например

<span style="color:#BC0909;text-shadow:none;"><?php echo $post_new->post_title;?></span></a>

Александр-HIMиk, намекните, пожалуйста, можно ли в текущей конструкции что-то поправить, чтобы добиться нужного эффекта? Всё попробовал – изменений не происходит.

Полагал, здесь если написать что-то

$posts_new = get_posts('category=1&numberposts=5');

Типа

$posts_new = get_posts('category=1&numberposts=5&offset=1&post_per_page=5');

Но это я наивно полагал.. Не работают придуманные мною способы.

У вас тут код-то очень страшный, на самом деле HTML и PHP комбинируются очень легко.

Надеюсь его никто больше не увидит)

Сделайте копию шаблона, возьмите пример из кодекса с query_posts, подставьте, попробуйте. Безо всякого лишнего оформления. А как получится и оформление подтяните.

всего-то полдня поисков и решение найдено (или лучше сказать "подобрано")

$posts_new = query_posts (‘cat=1&showposts=7&paged=’ . $paged);

Anonymous
Отправить
Ответ на: