2010-07-29 70 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-->'; 
}