1. 有自定義文章型別,希望自定義文章型別和預設的Post都在首頁的主迴圈中顯示。
2.有自定義文章型別(產品),首頁主迴圈中只顯示產品。
注意,本教程中只對應首頁的主迴圈,即不適用首頁一些側邊欄、或者自定義的文章查詢區域。
將下面程式碼新增到主題的functions.php中即可
function ashuwp_posts_per_page($query){
//首頁或者搜尋頁的主迴圈
if ( (is_home() || is_search()) && $query->is_main_query() )
//$query->set( ‘post_type’, array( ‘product’ ) ); //只顯示product
$query->set( ‘post_type’, array( ‘post’, ‘product’ ) ); //主迴圈中顯示post和product
return $query;
}
add_action(‘pre_get_posts’,’ashuwp_posts_per_page’);
利用pre_get_posts鉤子,不光可以實現本教程所需要的內容,還可自由發揮,改變主迴圈的其它一些引數。
比如僅僅想讓首頁的文章數量顯示為5篇。
//僅首頁
if ( is_home() )
$query->set(‘posts_per_page’,5);//每頁顯示5篇
1. 有自定義文章型別,希望自定義文章型別和預設的Post都在首頁的主迴圈中顯示。
2.有自定義文章型別(產品),首頁主迴圈中只顯示產品。
注意,本教程中只對應首頁的主迴圈,即不適用首頁一些側邊欄、或者自定義的文章查詢區域。
將下面程式碼新增到主題的functions.php中即可
function ashuwp_posts_per_page($query){
//首頁或者搜尋頁的主迴圈
if ( (is_home() || is_search()) && $query->is_main_query() )
//$query->set( ‘post_type’, array( ‘product’ ) ); //只顯示product
$query->set( ‘post_type’, array( ‘post’, ‘product’ ) ); //主迴圈中顯示post和product
return $query;
}
add_action(‘pre_get_posts’,’ashuwp_posts_per_page’);
利用pre_get_posts鉤子,不光可以實現本教程所需要的內容,還可自由發揮,改變主迴圈的其它一些引數。
比如僅僅想讓首頁的文章數量顯示為5篇。
function ashuwp_posts_per_page($query){
//僅首頁
if ( is_home() )
$query->set(‘posts_per_page’,5);//每頁顯示5篇
return $query;
}
add_action(‘pre_get_posts’,’ashuwp_posts_per_page’);