只有当有上一个/下一个页面时才显示上一个/下一个页面
问题描述:
我正在尝试在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>
不过,我想只显示上一个/下一个按钮,当有实际存在一个上一页/下一页。我怎样才能做到这一点?
谢谢!
答
把这个地方要显示上一页/下一页
<?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
更多的代码?你怎么能理解是否有上一篇或下一篇文章? –
此前已解决:https://stackoverflow.com/questions/2723433/wordpress-check-if-there-are-previous-posts-before-displaying-link – Danimal