自定义 WordPress 文章显示数量

WordPress3709阅读模式

一般我们都在设置 → 阅读 → 博客页面至多显示中,统一设置每个页面的文章显示数量,如果想某些页面自定义显示数量,不受这个控制,可以通过下面的代码实现。

自定义 WordPress 文章显示数量

自定义 WordPress 文章显示数量

section

将下面代码添加到当前主题函数模板functions.php中:

add_action( 'pre_get_posts',  'zm_set_posts_per_page'  );
function zm_set_posts_per_page( $query ) {
	if ( ( ! is_admin() ) && ( $query === $GLOBALS['wp_query'] ) && ( $query->is_search() ) ) {
		$query->set( 'posts_per_page', 3 );
	}
	elseif ( ( ! is_admin() ) && ( $query === $GLOBALS['wp_the_query'] ) && ( $query->is_archive() ) ) {
		$query->set( 'posts_per_page', 5 );
	}
	return $query;
}

上面代码最终效果是搜索结果页面显示3篇文章,文章归档页面显示5篇。

section

如想实现不同分类显示不同的文章数,稍微改一下:

add_action( 'pre_get_posts',  'zm_set_posts_per_page'  );
function zm_set_posts_per_page( $query ) {
	if ( ( ! is_admin() ) && ( $query === $GLOBALS['wp_the_query'] ) && ( is_category(array(1,2)) ) ) {
		$query->set( 'posts_per_page', 3 );
	}
	elseif ( ( ! is_admin() ) && ( $query === $GLOBALS['wp_the_query'] ) && ( is_category(array(3,4)) ) ) {
		$query->set( 'posts_per_page', 5 );
	}
	elseif ( ( ! is_admin() ) && ( $query === $GLOBALS['wp_the_query'] ) && ( is_category(array(5,6)) ) ) {
		$query->set( 'posts_per_page', 2 );
	}
}

修改其中的分类ID,实现指定的分类显示不同的文章数

 

本站文章大部分始于原创,用于个人学习记录,可能对您有所帮助,仅供参考!

weinxin
我的微信
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
 
知更鸟
评论  3  访客  2  作者  1
    • 欧乐安
      欧乐安 3

      又挖掘到新知识啦 :lol:

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    拖动滑块以完成验证