2017-10-04 260 views
-2

我正在嘗試在index.php工作上獲得分頁。我想出但看起來是這樣的:只有當有上一個/下一個頁面時才顯示上一個/下一個頁面

<nav> 
    <a href="<?php previous_posts(); ?>" class="btn prev-page">Previous Page</a> 
    <a href="<?php next_posts(); ?>" class="btn next-page">Next Page</a> 
</nav> 

不過,我想只顯示上一個/下一個按鈕,當有實際存在一個上一頁/下一頁。我怎樣才能做到這一點?

謝謝!

+0

更多的代碼?你怎麼能理解是否有上一篇或下一篇文章? –

+0

此前已解決:https://stackoverflow.com/questions/2723433/wordpress-check-if-there-are-previous-posts-before-displaying-link – Danimal

回答

0

把這個地方要顯示上一頁/下一頁

<?php wpbeginner_numeric_posts_nav(); ?> 

和functions.php的添加

function wpbeginner_numeric_posts_nav() { 
    if(is_singular()) 
     return; 
    global $wp_query; 
    /** Stop execution if there's only 1 page */ 
    if($wp_query->max_num_pages <= 1) 
     return; 
    $paged = get_query_var('paged') ? absint(get_query_var('paged')) : 1; 
    $max = intval($wp_query->max_num_pages); 
    /** Add current page to the array */ 
    if ($paged >= 1) 
     $links[] = $paged; 
    /** Add the pages around the current page to the array */ 
    if ($paged >= 3) { 
     $links[] = $paged - 1; 
     $links[] = $paged - 2; 
    } 
    if (($paged + 2) <= $max) { 
     $links[] = $paged + 2; 
     $links[] = $paged + 1; 
    } 
    echo '<div class="navigation"><ul>' . "\n"; 
    /** Previous Post Link */ 
    if (get_previous_posts_link()) 
     printf('<li>%s</li>' . "\n", get_previous_posts_link('<i class="fa fa-angle-left"></i>')); 
    /** Link to first page, plus ellipses if necessary */ 
    if (! in_array(1, $links)) { 
     $class = 1 == $paged ? ' class="active"' : ''; 
     printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link(1)), '1'); 
     if (! in_array(2, $links)) 
      echo '<li>…</li>'; 
    } 
    /** Link to current page, plus 2 pages in either direction if necessary */ 
    sort($links); 
    foreach ((array) $links as $link) { 
     $class = $paged == $link ? ' class="active"' : ''; 
     printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($link)), $link); 
    } 
    /** Link to last page, plus ellipses if necessary */ 
    if (! in_array($max, $links)) { 
     if (! in_array($max - 1, $links)) 
      echo '<li>…</li>' . "\n"; 

     $class = $paged == $max ? ' class="active"' : ''; 
     printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($max)), $max); 
    } 
    /** Next Post Link */ 
    if (get_next_posts_link()) 
     printf('<li>%s</li>' . "\n", get_next_posts_link('<i class="fa fa-angle-right"></i>')); 
    echo '</ul></div>' . "\n"; 
} 

來源:WPBegginer

相關問題