WonderCSS

wordpress技巧 如何在首页循环中排除某类文章形式

自从 wordpress 增加了文章形式(Post Formats)后,无论是对网站编辑者还是开发者都产生了很大的兴趣。对于做wordpress主题时如何在首页循环中排除某分类文章我们已经了解了,那么如何排除某个“文章形式”就成为一个新课题摆在面前。

Wordpress-Loop-Exclude-Post

自此之前我们要对文章形式(Post Formats)有些简单了解。

文章形式(Post Formats)在 3.1 版本中引入的文章形式,是文章的一种属性,可以被主题用来决定文章的显示方式。其设计目的是要提供一个特殊的方法来根据文章的特点选用显示“格式”。该方法用于替代以前需要使用分类来达到同样目的的做法,而且更重要的是,该方法在支持的主题间是通用的。

其实在首页循环中排除某类文章形式方法很简单,仍旧是依靠我们万能的 functions.php 文件,将下面代码加入文件后根据需求略加改动即可:


/**
 * WordPress 首页排除某些文章形式(Post Formats)
 **/
function exclude_post_formats_from_homepage( $query ) {
	if( $query->is_main_query() && $query->is_home() ) { //判断首页主查询
		$tax_query = array( array( 
			'taxonomy' => 'post_format',
			'field' => 'slug',
			'terms' => array(
				//请根据需要保留要排除的文章形式
				'post-format-aside',
				'post-format-audio',
				'post-format-chat',
				'post-format-gallery',
				'post-format-image',
				'post-format-link',
				'post-format-quote',
				'post-format-status',
				'post-format-video'
				),
			'operator' => 'NOT IN',
			) );
		$query->set( 'tax_query', $tax_query );
	}
}
add_action( 'pre_get_posts', 'exclude_post_formats_from_homepage' );

如何你是个新手、或真心英文盲不懂post-format都是什么格式的话,可以看看下面的中英对比:

  • 日志(aside) – 典型样式就是没有标题。
  • 相册(gallery) – 图像陈列厅。
  • 链接(link) – 链接到其它网站的链接。
  • 图像(image) – 单张图像。
  • 引语(quote) – 引用他人的一段话。
  • 视频(video) – 单一视频。
  • 音频(audio) – 一个音频文件。
  • 聊天(chat) – 聊天记录,相当于一个微博。

By 于湛 发布于 2013.11.9 1,593 次浏览

wordpress技巧 如何在首页循环中排除某类文章形式》上有1条评论

  1. Pingback引用通告: wordpress技巧:按日志形式(post-formats)调用文章 | WonderCSS

发表评论

电子邮件地址不会被公开。 必填项已用*标注