1. 程式人生 > >wordpress主題首頁與分類頁的分頁怎樣實現?

wordpress主題首頁與分類頁的分頁怎樣實現?

製作wordpress主題時,首頁、分類頁、搜尋頁的分頁效果是需要考量的,尤其是wordpress部落格類主題,首頁也是需要考慮在內的。如果分頁設定不好,就有可能出現有些分頁出現404的現象,我就曾經碰到過這樣一個主題:首頁分頁效果正常,分類頁後幾頁出現404現象。下面提供2種方案分頁。

方案1:首頁與分類頁的分頁放到1個勾子裡。

在function.php檔案裡新增如下程式碼:

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篇文章
}
}
add_action('pre_get_posts','custom_posts_per_page');

方案2、首頁與分類頁分頁分開放到2個不同的勾子裡。

首頁與分類文章每頁數量分開來設定:

//限制首頁文章每頁數量
function custom_posts_per_page($query){
if(is_home()){
$query->set('posts_per_page',8);//首頁每頁顯示8篇文章
}
}
add_action('pre_get_posts','custom_posts_per_page');

//限制分類頁文章每頁數量
function custom_posts_per_page2($query){
if(is_archive()){
$query->set('posts_per_page',25);//archive每頁顯示25篇文章
}//endif
}
add_action('pre_get_posts','custom_posts_per_page2');

這樣,就不需要在迴圈中來設定每頁顯示文章數量,避免“最後一頁404”的情況發生。

注:在列表迴圈 query_posts()中,不要再使用posts_per_page來限制數量,可以使用showposts 來限制。

相關推薦

python/Djangof自定義

from r+ else active count() 返回 log 多少 pan python/Djangof分頁與自定義分頁 Django分頁 1 ##============================================分頁========

小書MybatisPlus第4篇-表格下拉查詢

本文為mybatis系列文件的第4篇,前三篇請訪問下面的網址。 * [小書MybatisPlus第1篇-整合SpringBoot快速開始增刪改查](http://www.zimug.com/other/springboot/%e5%b0%8f%e4%b9%a6mybatisplus%e7%ac%ac1%e7

wordpress主題分類怎樣實現

製作wordpress主題時,首頁、分類頁、搜尋頁的分頁效果是需要考量的,尤其是wordpress部落格類主題,首頁也是需要考慮在內的。如果分頁設定不好,就有可能出現有些分頁出現404的現象,我就曾經碰到過這樣一個主題:首頁分頁效果正常,分類頁後幾頁出現404現象。下面提供2

oraclemysqlsqlserver的

興趣 href 查詢 lac 博文 簡單的 數據庫 分頁查詢 agen  假設當前是第PageNo頁,每頁有PageSize條記錄,現在分別用Mysql、Oracle和SQL Server分頁查詢student表。 1、Mysql的分頁查詢:  1 SELECT 2

MySQLOracle的查詢語句

一、MySQL MYSQL中有特定的分頁查詢語句,該sql語句只能在MySQL中使用 select * from t_customer limit ?,? 該sql語句的意思是,從第幾行開始,然後取多少行,MySQL中第一行的下標是0 例如:我要取資料庫中的前10行資料,我

wordpress文章兩側添加導航箭頭

posit ext 文章 ali eval lock code div previous 分頁導航 如果添加在文章頁的兩側,很方便讀者翻閱,小編發現好多站長的博客都添加了這一功能,百度了一下,就是JS和css的功能,經過測試成功,分享一下流程。 1、添加Js 在headr

關於MVC中使用JqGrid外掛時無法顯示按鈕(、上一、下一、最後一)的原因

遇到這樣問題的小夥伴,可以嘗試下如下方法(注意:在各種指令碼和樣式都引用正確的情況下可參考): 當你發現或覺得這中情況的出現讓你百思不得其解時,首先我們來對比一下我們雙方的指令碼和樣式引用: CSS: <link href="~/Content/bootstrap.m

Mybatisminiui的結合,Mybatis排序、miniui查詢、miniui載入等問題

場景描述:        在專案使用miniui查詢資料展示的時候,進行分頁展示。但是在分頁查詢的過程中,發現miniui的ajax傳到後臺的引數有pageIndex、pageSize、sortField、sortOrder引數,而在每次查詢的時候,資料總數是該次分頁查詢的總

Python之路65-Django、自定義

python目錄一、XSS二、分頁1三、分頁2四、分頁3一、XSS有下面一段代碼,想將這段代碼中的字符串渲染到HTML頁面中,默認Django是不能這樣去操作的views.pydef user_list(request): page_str = """ <a href="/use

控件以及控件風格

size .net rstp weight sans current input aging 人的 原文發布時間為:2009-05-22 —— 來源於本人的百度文章 [由搬家工具導入]分页控件以S

layui的使用(前端

app value ner str sda msg urn mes function <div id="one"></div>//顯示數據庫中數據的<ul id="ones"></ul>//顯示分頁的 ============

Layer,Ajax請求

最近在研究layui,發現他的分頁標籤特別好用,所以小小研究了一下。 先來一個分頁後的效果圖看一下,是不是感覺特別精緻,話不多說,直接上程式碼!!!   下邊是程式碼檔案: 首先引入檔案: 注:layer框架是基於jquery的一個彈層框架,所以jquer

實現 包括 區間查詢

一、獲取請求引數 MaxPrice  minPrice pageNo   把分頁和區間分頁寫在一起    給區間分頁的資料預設值  : protected void getBooks(HttpServletReq

PageHelper外掛及通用js

1.物理分頁 物理分頁依賴的是某一物理實體,這個物理實體就是資料庫,比如MySQL資料庫提供了limit關鍵字,程式設計師只需要編寫帶有limit關鍵字的SQL語句,資料庫返回的就是分頁結果。建議使用。 2.邏輯分頁 邏輯分頁依賴的是程式設計師編寫的程式碼。資料庫返回的不是分頁結果,而是全部資料,然

純AngularJs實現查詢,不使用外掛

1.HTML 程式碼 <div class="sui-pagination pagination-large top-pages"> <ul> <li class="prev {{isTopPage()?'disabled':''}}"&g

Bootstrap table 客戶端和服務端

本文不去介紹怎麼使用此外掛,主要介紹使用的時候注意的事情: 1、服務端分頁 將sidePagination屬性設為 server 就是每次請求當前頁的資料,根據每頁大小和頁號來從伺服器獲取資料 返回的資料,必須包含如下欄位  total節點(總記錄數),rows節點(分

Oracle (05)外來鍵約束.序列.索引.檢視.查詢技術.排序查詢.資料庫表格設計正規化

外來鍵約束 (完整性約束)(fk) ***** 牽扯到兩個表格: 概念: 1. 外來鍵約束, 是存在兩個表格的操作 ! 2. 一張表格我們稱為主表(父表) , 另一張叫做從表(子表) , 定義了外來鍵約束的表格屬於從表 ! 3. 從表的外來鍵欄位, 是在參考主表中的主鍵

MyBatis攔截器原理及PageHelper外掛教學

閒來無事,特地整理了一下MyBatis攔截器實現分頁的原理。 地球人應該都知道要利用JDBC對資料庫進行操作,就需要一個statement物件,MyBatis也是如此。MyBatis在執行sql語句前會產生一個包含sql語句的Statement物件,而且對應的

C# DataGridView功能(SQL儲存過程實現

{            dtStaff.Clear();            SqlConnection conn = new SqlConnection(Param_Class.Param_DB.strConn);            SqlDataAdapter Sda = new SqlDataA