2014-03-30 10 views
0

첫 번째 게시물이 전체 텍스트 + 큰 미리보기 이미지 (추천)와 함께 표시되고 제목이있는 게시물과 작은 미리보기 이미지로 표시되는 카테고리 템플릿을 만들려고합니다.오프셋이있는 Wordpress 카테고리 템플릿 - 모든 페이지에 게재됩니다.

두 가지 쿼리를 사용하여이 작업을 수행했지만 도움이되었습니다. 첫 번째 게시물은 각 페이지에서 동일하게 유지되며 변경되지 않으며 루프는 첫 번째 페이지의 오프셋을 다른 페이지로 채택하지 않습니다 페이지도.

코드는 여기에 있습니다 :

<?php $cat_link = get_category_link($cat_id); 
     $cat_name = get_cat_name($cat_id); 
     $cat_id = 22; ?> 

<?php $latest_cat_post = new WP_Query(array('posts_per_page' => 1, 'category__in' => array($cat_id))); 
     if($latest_cat_post->have_posts()) : while($latest_cat_post->have_posts()) : $latest_cat_post->the_post(); ?> 

     <div class="catrecent"> 
      <div class="recenttitle"> 
      <h2 class="catidtxt"> <a href="<?php echo ($cat_link); ?>" title="<?php echo ($cat_name); ?>"><?php echo ($cat_name); ?></a></h2> 
      <h2 class="recentposttitle"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h3>  
     </div> 
      <?php if(has_post_thumbnail()) { ?> 
       <div class="recentpostwrap"> 
       <?php the_post_thumbnail('thumbcatbig'); ?> 
       <?php the_content_limit(588,""); ?> 
       <div class="readrecent"> 
       <a href="<?php the_permalink(); ?>"><?php _e("more", "mm"); ?></a> 
       </div> 
       </div> 
      <?php } else { ?> 
       <div class="holder no-thumb-big">                    
       <?php the_content_limit(798,""); ?> 
       <div class="more"> 
       <a href="<?php the_permalink(); ?>"><?php _e("more", "mm"); ?></a> 
       </div> 
       </div> 
      <?php } ?> 

      <?php endwhile; else: ?><?php endif; ?><?php wp_reset_query(); ?> 
    </div> 





<ul class="catlist-recent"> 
    <?php 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $ppp = 7; 
    $offset = 1; 
    $cat_id = '22,27,29'; 

    //Manually determine page query offset (offset + current page (minus one) x posts per page) 
    $page_offset = $offset + (($paged - 1) * $ppp); 

    $query = new wp_query(array(
     'offset'   => $page_offset, 
     'posts_per_page' => $ppp, 
     'cat'   => $cat_id, 
     'paged'   => $paged 
    )); 

    if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); ?> 

    <li class="catlist-recentpost"> 
     <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbcatsmall'); ?></a> 
     <a href="<?php the_permalink(); ?>" rel="bookmark"> <?php the_title(); ?> </a> 
       <div class="catlist-recentposttxt"> <?php the_content_limit(300, ''); ?></div> 
    </li> 

    <?php endwhile; else: ?><?php endif; ?> 
</ul> 

<div class="cat-pagenate"> 
<?php 
// pagination 
$big = 999999999; // need an unlikely integer 
echo paginate_links(array(
    'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big)) ), 
    'total' => ceil(($query->found_posts - $offset)/$ppp), 
    'format' => '?paged=%#%', 
    'current' => max(1, get_query_var('paged')), 
)); 
wp_reset_query(); 
?> 
</div> 

이 어떤 도움 감사합니다!

답변

0

에 "페이지"

을 "페이징"에서의 변화를

$query = new wp_query(array(
    'offset' => $page_offset, 
    'number' => $ppp, 
    'cat' => $cat_id, 
    'page' => $paged 
)); 

참고하십시오