2010-07-29 74 views
1

我正在建立一个wordpress主题我想有下一个和以前的DIV只出现,如果他们是下一个和上一个按钮可用。WordPress的,如果函数返回“什么都没有”

如果有10个帖子,显示限制是10个帖子,我不想要一个空的div。但是,当有20个职位,显示限制为10我希望下一个和上一个按钮显示在自己的股利。

我知道了这一点,并意识到posts_nav_link()不会返回null。

function next_previous_div(){ 
print '<!-- '; 
$output = posts_nav_link(); 
print " -->\n"; 
if ($output != null) 
    { 
     echo '<div class="float post" style="text-align:center">'; 
     echo posts_nav_link(); 
     echo '</div><!-- end post-->'; 
    }; 
}; 

回答

5

有,你可以测试,如果你有一个/下一个链接几种不同的方式:

测试$ wp_query-> MAX_NUM_PAGES

得到全局参考$ wp_query对象,看它是否大于1.如果是,你有分页链接:

global $wp_query; 
if($wp_query->max_num_pages > 1){ 
    posts_nav_link(); 
} 

捕获posts_nav_link的输出()

此功能回声默认情况下,这就是为什么你的空测试是行不通的。你需要捕捉回显的输出,然后测试:

// Capture the echoed output in the $links variable and test on it 
ob_start(); 
posts_nav_link(); 
$links = ob_get_clean(); 

if(strlen($links) > 0){ 
    echo $links; 
} 
+0

谢谢我使用第二个,完美工作! – ThomasReggi 2010-07-29 19:22:35

+0

很高兴听到 - 当我第一次使用WordPress时,回应的功能自动也让我几次。 – Pat 2010-07-29 19:23:44

0

我想你会得到不自定义脚本将是最接近...

if (!empty(get_posts_nav_link()) { 
    echo '<div class="float post" style="text-align:center">'; 
    echo posts_nav_link(); 
    echo '</div><!-- end post-->'; 
}