2012-01-04 6 views
1

내 루프에서 페이지 매김 쿼리를 사용하고 있습니다. 그러나 페이지 매김이 필요한 경우에만 HTML을 출력해야합니다. 일부 페이지에서는 페이지에 몇 개의 게시물 만 있기 때문에 페이지 매김 마크 업이 필요하지 않습니다.Wordpress 페이지 매김 루프 페이지 매김 html이 참일 경우 표시

내 루프에 있기 때문에 아카이브 페이지에 8 개의 게시물이 표시되면 내 마크 업 <div class="archive-navigation"> 및 이 계속 출력됩니다. 이 HTML 마크 업을 페이지 매김 쿼리에 어떻게 짜 넣어서 페이지 매김이 필요한 경우 HTML 만 출력합니까?

루프가 10 개 이상의 게시물을 호출하는 경우에만 페이지 번호 및 마크 업이 필요합니다.

미리 감사드립니다.

<?php query_posts(array(

    'post_type' => 'download', 
    'order' => 'DESC', 
    'paged' => $paged, 
    'posts_per_page' => 10 

)); ?> 

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

    <!-- MY LOOP --> 

<?php endwhile; ?> 

    <div class="archive-navigation"> 

    <?php 
     global $wp_query; 
     $big = 999999999; // need an unlikely integer 
     echo paginate_links(array(
     'base'  => str_replace($big, '%#%', get_pagenum_link($big)), 
     'format' => '?paged=%#%', 
     'current' => max(1, get_query_var('paged')), 
     'total'  => $wp_query->max_num_pages, 
     'prev_text' => __('&#8592; previous downloads','multilingol'), 
     'next_text' => __('newer downloads &#8594;','multilingol') 
     )); 
    ?> 

    </div> 

<?php endif; wp_reset_query(); ?> 

답변

0

다음과 같은 인수에 type => 'array'을 추가 할 수 있습니다. 배열이 표시 링크 여부 <div>이있는 경우

<?php 
global $wp_query; 
$big = 999999999; // need an unlikely integer 
$links = paginate_links(array(
    'base'  => str_replace($big, '%#%', get_pagenum_link($big)), 
    'format' => '?paged=%#%', 
    'current' => max(1, get_query_var('paged')), 
    'total'  => $wp_query->max_num_pages, 
    'prev_text' => __('&#8592; previous downloads','multilingol'), 
    'next_text' => __('newer downloads &#8594;','multilingol'), 
    'type'  => 'array', 
)); 
?> 

이 후에는 count($links) 확인 할 수 있습니다.

마지막 코드는 다음과 같이 표시됩니다

<?php 
global $wp_query; 
$big = 999999999; // need an unlikely integer 
$links = paginate_links(...)); // Above parameters array. 
?> 

<?php if (count($links) > 0) : ?> 
<div class="archive-navigation"> 
    <?php foreach ($links as $link) : ?> 
    <?php echo $link ?> 
    <?php endforeach ?> 
</div> 
<?php endif ?> 

를 자세한 내용은 사용에 paginate_links 기능을 이쪽을 봐 : http://codex.wordpress.org/Function_Reference/paginate_links

+0

안녕 구스타보, 도와 주셔서 너무 감사합니다. 미니 루프가 작동하지만 출력물로 페이지 매김 링크를 얻을 수 없습니다. foreach 루프를 사용하는 디스플레이 링크는 무엇을 의미합니까? 나는 이것을 시도했다. foreach ($ links); 하지만 작동하지 않습니다. 고마워, Josh – Joshc

+0

당신은'foreach ($ link as $ link) echo $ link;'와 같은 것을해야한다. –

+0

루프를 구현하는 방법을 더 쉽게 이해할 수 있도록 'foreach'를 제 답변에 추가했습니다. 'foreach' 사용법에 대한 자세한 내용은 http://br.php.net/manual/en/control-structures.foreach.php를 참조하십시오. –