WordPress不用插件實現Pagenavi功能的方法
來源:程序員人生 發布時間:2013-10-24 06:10:04 閱讀次數:2971次
Pagenavi 是一個很好的功能,現在 WordPress 博客一般都是使用 WP-Pagenavi 插件來實現,其實 WordPress 現在已經自己支持 Pagenavi 功能了,只需要將下面簡單的代碼復制到當前主題的 functions.php 文件中,然后再相關的主題模板文件中使用 native_pagenavi() 函數就能實現 Pagenavi 的功能。
function native_pagenavi(){
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('page','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'prev_text' => '« ',
'next_text' => ' »'
);
if( $wp_rewrite->using_permalinks() )
$pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg('s',get_pagenum_link(1) ) ) . 'page/%#%/', 'paged');
if( !empty($wp_query->query_vars['s']) )
$pagination['add_args'] = array('s'=>get_query_var('s'));
echo '<div class="pagenavi">'.paginate_links($pagination).'</div>';
}
詳細解釋:paginate_links 是 WordPress 從 2.1 版本開始就提供的函數,它可以在任何地方顯示頁碼導航鏈接。這個函數的基本參數如下:
其中 ‘base’ 參數用來提供創建頁面鏈接的參考鏈接,’format’ 參數是用來替換成頁碼。’total’ 參數是設置頁面的總數,’current’ 參數用于設置當前的頁碼,它們都必須是整數。這些參數我們在使用的時候必須提供的。
‘show_all’ 參數設置為 true 就會顯示所有的頁面,默認情況它是被設置為 false 的,通過 ‘end_size’ 和 ‘mid_size’ 這兩個參數來控制頁碼顯示的規則。’end_size’ 參數是用來控制在開始和結束的兩端顯示多少個數字,默認是 1 。’mid_size’ 參數是用來顯示多少個數字顯示在當前頁數字的兩邊,并且不包括當前頁。
‘prev_next’ 這個參數是用來設置是否顯示上一頁和下一頁的頁碼鏈接,默認是 true,然后我們可以通過 ‘prev_text’ 和 ‘next_text’ 這兩個參數來控制上一頁和下一頁的文本。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈