使用下面的函数,放在主题 functions.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篇文章
}
if (is_tax('products_list')) {
$query->set('posts_per_page', 1);
}
}
//this adds the function above to the 'pre_get_posts' action
add_action('pre_get_posts', 'custom_posts_per_page');
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篇文章
}
if (is_tax('products_list')) {
$query->set('posts_per_page', 1);
}
}
//this adds the function above to the 'pre_get_posts' action
add_action('pre_get_posts', 'custom_posts_per_page');
wordpress给指定ID的分类目录分页添加不同数量文章
function jzp_wp_filter_pre_get_posts($query)
{
if ($query->is_main_query()) {
$num = '';
if (is_category(array(38))) {
$num = 999;
$query->set('posts_per_page', $num);
}
}
return $query;
}
add_action('pre_get_posts', 'jzp_wp_filter_pre_get_posts');
{
if ($query->is_main_query()) {
$num = '';
if (is_category(array(38))) {
$num = 999;
$query->set('posts_per_page', $num);
}
}
return $query;
}
add_action('pre_get_posts', 'jzp_wp_filter_pre_get_posts');
wordpress根据页面类型自定义列表文章数量
function custom_posts_per_page($query){
if(is_home()){
$query->set('posts_per_page',9);//首页每页显示8篇文章
}
if(is_search()){
$query->set('posts_per_page',5);//搜索页显示所有匹配的文章,不分页
}
if(is_archive()){
$query->set('posts_per_page',-1);//archive每页显示25篇文章
}
if(is_tag()){
$query->set('posts_per_page',4);//archive每页显示25篇文章
}
if(is_category()){
$query->set('posts_per_page',9);//archive每页显示25篇文章
}
if(is_category(11)){
$query->set('posts_per_page',-1);//archive每页显示25篇文章
}
}//function
//this adds the function above to the 'pre_get_posts' action
add_action('pre_get_posts','custom_posts_per_page');
if(is_home()){
$query->set('posts_per_page',9);//首页每页显示8篇文章
}
if(is_search()){
$query->set('posts_per_page',5);//搜索页显示所有匹配的文章,不分页
}
if(is_archive()){
$query->set('posts_per_page',-1);//archive每页显示25篇文章
}
if(is_tag()){
$query->set('posts_per_page',4);//archive每页显示25篇文章
}
if(is_category()){
$query->set('posts_per_page',9);//archive每页显示25篇文章
}
if(is_category(11)){
$query->set('posts_per_page',-1);//archive每页显示25篇文章
}
}//function
//this adds the function above to the 'pre_get_posts' action
add_action('pre_get_posts','custom_posts_per_page');
只需要针对某个指定分类设置可以用下面的代码:
//不同分类调用不同的分页显示数量
function tx_wp_filter_pre_get_posts($query)
{
if ($query->is_main_query()) { //判断是否主查询
$num = '';
if (is_category(array(1))) { //数字1为指定分类id
$num = 2; //数字2为每页文章数量值可以任意修改但必须是整数
$query->set('posts_per_page', $num); //给主循环数据里面的每页文章数量赋值
}
}
return $query;
}
add_action('pre_get_posts', 'tx_wp_filter_pre_get_posts');//挂上钩子
function tx_wp_filter_pre_get_posts($query)
{
if ($query->is_main_query()) { //判断是否主查询
$num = '';
if (is_category(array(1))) { //数字1为指定分类id
$num = 2; //数字2为每页文章数量值可以任意修改但必须是整数
$query->set('posts_per_page', $num); //给主循环数据里面的每页文章数量赋值
}
}
return $query;
}
add_action('pre_get_posts', 'tx_wp_filter_pre_get_posts');//挂上钩子
wordpress不同分类模板显示不同文章条数:
function tx_wp_filter_get_posts($query)
{
if ($query->is_main_query()) {
$num = '';
if (is_category(array(3,6))) { //需要设置的分类ID
$num = 600; //显示文章条数
$query->set('posts_per_page', $num);
}
}
return $query;
}
add_action('pre_get_posts', 'tx_wp_filter_get_posts');
{
if ($query->is_main_query()) {
$num = '';
if (is_category(array(3,6))) { //需要设置的分类ID
$num = 600; //显示文章条数
$query->set('posts_per_page', $num);
}
}
return $query;
}
add_action('pre_get_posts', 'tx_wp_filter_get_posts');