我正在寻找一种简单的方法来确定是否使用posts_nav_link()
我在网上找到的功能和所有解决方案要么太复杂,要么不可靠。例如,许多人建议使用$paged
全局变量,但我发现这个变量在第一个页面返回相同的值,即使第一个页面是唯一的页面!
所以,我深入研究了wp-includes/link-template.php
文件,并发现posts_nav_link()
函数只输出另一个函数的返回值:
/**
* Display post pages link navigation for previous and next pages.
*
* @since 0.71
*
* @param string $sep Optional. Separator for posts navigation links.
* @param string $prelabel Optional. Label for previous pages.
* @param string $nxtlabel Optional Label for next pages.
*/
function posts_nav_link( $sep = \'\', $prelabel = \'\', $nxtlabel = \'\' ) {
$args = array_filter( compact(\'sep\', \'prelabel\', \'nxtlabel\') );
echo get_posts_nav_link($args);
}
利用这些知识,我们可以创建一种简单有效的方法来确定是否需要添加链接以在页面之间导航:
$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
// do not use posts_nav_link()
} else {
// use posts_nav_link()
}
最初发布在我的博客上
here.