wordpress手動自定義文章顯示數量
阿新 • • 發佈:2018-12-14
WordPress每頁顯示的文章數在後臺閱讀設定中指定,會應用到blog列表頁(通常是首頁)、搜尋頁、標籤頁、分類頁以及時間索引頁面,加入這些頁面的結構不盡相同,例如有的顯示標題和摘要,有的只顯示標題,那麼指定相同的頁數就不適用於每個頁面了。要根據頁面型別指定每頁顯示文章數,需要寫程式碼實現。
推薦的方法
修改每頁顯示的文章數也就是修改posts_per_page引數,將下面的程式碼放到functions.php中即可實現,程式碼來自WordPress Answers。
function custom_posts_per_page($query){ if(is_home()){ $query->set('posts_per_page',8);//首頁每頁顯示8篇文章 } if(is_search()){ $query->set('posts_per_page',-1);//搜尋頁顯示所有匹配的文章,不分頁 } if(is_archive()){ $query->set('posts_per_page',25);//archive每頁顯示25篇文章 }//endif }//function //this adds the function above to the 'pre_get_posts' action add_action('pre_get_posts','custom_posts_per_page');
不推薦使用的方法
不推薦直接修改主題模板,例如在index.php主迴圈前用query_posts更改每頁顯示文章數目
query_posts( 'posts_per_page=5' );
缺點:
第一,增加查詢次數
第二,靈活度不高,如果分類、標籤有自己的模板,還需要到那些模板裡重複query_posts的把戲。
第三,query_posts使用時需特別小心,如果忘記恢復全域性變數,可能會出現莫名其妙的錯誤。