Поддержка Проблемы и решения 2 последнии новости на главной

  • сразу к сути…значит цель такая…сделать на главной странице http://сайт.ру 2 последнии новости под ними навигация из страниц, при ажатии на страницу 2 http://сайт.ру/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(); ?>
Просмотр 1 ответа (всего 1)
  • Автор Денис

    (@redfox21yandexru)

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

    <?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(в админке)

Просмотр 1 ответа (всего 1)
  • Тема «2 последнии новости на главной» закрыта для новых ответов.