сразу к сути…значит цель такая…сделать на главной странице сайт .ру 2 последнии новости под ними навигация из страниц, при ажатии на страницу 2 сайт .ру/page/2 отображаются следующие новости но уже 10 и на последующих страницах тоже, навигация на 1вой странице должна соответствовать чилу полных записей а не делится…главая у меня home.php изначально, премиум шаблон
вобщем стандартный код был таким выводил 10 новостей последних на странице, количество новостей можно было задавать через админ центр шаблона. Вот собственно код
<?php
$args=array(
'showposts'=>get_option('aggregate_homepage_posts'),
'paged'=>$paged,
'category__not_in' => get_option('aggregate_exlcats_recent'),
);
if (get_option('aggregate_duplicate') == 'false') $args['post__not_in'] = $ids;
query_posts($args);
global $paged;
$i = 0;
?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php include(TEMPLATEPATH . '/includes/entry.php'); ?>
<?php endwhile; ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); }
else { ?>
<?php include(TEMPLATEPATH . '/includes/navigation.php'); ?>
<?php } ?>
<?php else : ?>
<?php include(TEMPLATEPATH . '/includes/no-results.php'); ?>
<?php endif; wp_reset_query(); ?>
после того как я добавил плагин навигации и отредактировал код, у меня стало выводится на главной 2 новости последнии но количество страниц вместо 39 при том что если 10 страниц на новость было, стало 191, тоесть код считал что у меня на всех страницах по 2 новости, но если нажать на 2рую страницу то выводились 10 новостей, но 8 новостей с первой странице невыводились, код какбы считал что на 1 странице я их вывел, хотя тама были тока 2 новости….Вот код
<?php
if($pageNumber = (get_query_var('paged')) ? get_query_var('paged') : 1)
{$ifdg = 2;}
if($pageNumber = (get_query_var('paged')) ? get_query_var('paged') : 0 )
{ $ifdg = 10;}
?>
<?php
$args=array(
'showposts'=> $ifdg,
'paged'=>$paged,
'category__not_in' => get_option('aggregate_exlcats_recent'),
);
if (get_option('aggregate_duplicate') == 'false') $args['post__not_in'] = $ids;
query_posts($args);
global $paged;
$i = 0;
?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php include(TEMPLATEPATH . '/includes/entry.php'); ?>
<?php endwhile; ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); }
else { ?>
<?php include(TEMPLATEPATH . '/includes/navigation.php'); ?>
<?php } ?>
<?$pageNumber = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?if(is_front_page() & $pageNumber == "1") : ?>
<!-- begin wiget news -->
<div>
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar("News") ) : ?>
<?php endif; ?>
</div>
<!-- end wiget news -->
<?php endif; ?>
<?php else : ?>
<?php include(TEMPLATEPATH . '/includes/no-results.php'); ?>
<?php endif; wp_reset_query(); ?>
поясню вот эта часть кода выводит только на 1 страницу блок…ее можно в расчет не бырать
<?$pageNumber = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?if(is_front_page() & $pageNumber == "1") : ?>
<!-- begin wiget news -->
<div>
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar("News") ) : ?>
<?php endif; ?>
</div>
<!-- end wiget news -->
<?php endif; ?>
Прорыв еще форумов и т.д. я наткнулся на еще кое какие кода и решил посенять код, в итоге получил почти то что хотел, на главной странице 3 новости, под ними навигация из 39 страниц, на второй и последующих страницах выводится 10 новостей…но вот тут с кодом дальше немногу разобратся, на 2рой и последующих страницах отоброжаются только 10 последних новостей, тоесть на второй странице (последная, предпоследная и т.д) также на 3, 4, 5 странице и т.д какбы дублируются. А мне надо чтобы на главной странице были 3 новости последнии допустим id-104,id-103,id-102 на второй странице с id-101 по id-92 на 3ей странице c id-91 по id-80 ну и т.д. Есть у кого мысли как дорабоатть последний код ? вот тот самый последний код
<?php
$args=array(
'showposts'=> get_option('aggregate_homepage_posts'),
'paged'=>$paged,
'category__not_in' => get_option('aggregate_exlcats_recent'),
);
if (get_option('aggregate_duplicate') == 'false') $args['post__not_in'] = $ids;
query_posts($args);
global $paged;
$i = 0;
?>
<?php
if ($pageNumber = (get_query_var('paged')) ? get_query_var('paged') : 1)
{$top_query = new WP_Query('showposts=3');
}
if ($pageNumber = (get_query_var('paged')) ? get_query_var('paged') : 0)
{$top_query = new WP_Query('showposts=10');
}
?>
<?php if (have_posts()) : while ($top_query->have_posts()) : $top_query->the_post(); ?>
<?php include(TEMPLATEPATH . '/includes/entry.php'); ?>
<?php endwhile; ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); }
else { ?>
<?php include(TEMPLATEPATH . '/includes/navigation.php'); ?>
<?php } ?>
<?$pageNumber = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?if(is_front_page() & $pageNumber == "1") : ?>
<!-- begin wiget news -->
<div>
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar("News") ) : ?>
<?php endif; ?>
</div>
<!-- end wiget news -->
<?php endif; ?>
<?php else : ?>
<?php include(TEMPLATEPATH . '/includes/no-results.php'); ?>
<?php endif; wp_reset_query(); ?>
вобщем с горем попалам решил вопрос но пока незнаю багов и глюков надуюсь их небудет выкладываю код
При этом я установил плагин Different Posts Per Page 1.8.1, Home=3
, pages=10
D в теме число записей на страницу=10(в админке)
Вот всеравно меня сам код смущяет, может есть у кого идеи по его сокращению ?
При этом на главной странице у меня выводются 3 записи, навигация с 1 по 39 страницу, на 2рой странице выводются записи с 4 по 13