количество постов на главной

сразу к сути…значит цель такая…сделать на главной странице сайт .ру 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(); ?>

вобщем с горем попалам решил вопрос но пока незнаю багов и глюков надуюсь их небудет выкладываю код

<?php
if ($pageNumber = (get_query_var('paged')) ? get_query_var('paged') : 1)
{
$top_query = new WP_Query($query_string . 'showposts=3');
}
if(is_front_page() & $pageNumber == "1")
{
$top_query = new WP_Query($query_string . 'showposts=10');
}
            ?>

            <?php if (have_posts()) : while ($top_query->have_posts()) : $top_query->the_post(); ?>

При этом я установил плагин Different Posts Per Page 1.8.1, Home=3
, pages=10

D в теме число записей на страницу=10(в админке)

Вот всеравно меня сам код смущяет, может есть у кого идеи по его сокращению ?

При этом на главной странице у меня выводются 3 записи, навигация с 1 по 39 страницу, на 2рой странице выводются записи с 4 по 13

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