WordPress判断文章分类函数in_category和is_category区别

WordPress中我们通常使用判断文章所属分类函数 in_category,来实现文章页自定义,单很多时候我们会和is_category函数混淆,小编特意做一个总结和举例,希望对你制作wordpress主题文件有所帮助。

概述

in_category:判断当前文章或指定文章是否属于某个指定类别,只有直属的类别,不包括直属类别的父辈类别;可以在循环内使用,也可以独立使用。

is_category:判断是否正在显示一个类别归档页面。

in_category函数

in_category() 函数可以通过分类别名或ID判断当前文章所属的分类,用这个功能实现特定分类使用自定义模板或内容等,而且可以直接在循环(Loop)内部和外部使用。
1、如果是单个分类 ID ,比如ID 为 2 ,可以这样写

in_category(2)

2、如果是单个分类别名,比如别名为 themes,可以这样写

in_category('themes')

3、如果是多个ID,可以这样写

in_category( array('1', '2', '3') )

4、如果是多个别名,可以这样写

in_category( array( 'themes','plugins','develop') )

5、综合举例1
in_category函数通常用于主循环中,根据当前文章的类别采取不同的行动,在循环前我们判断分类如果是 fruit 就调用 single-fruit.php,如果是 vegetables 就调用 single-vegetables.php

  1. if ( in_category('fruit') ) {
  2.     include 'single-fruit.php';
  3. } elseif ( in_category('vegetables') ) {
  4.     include 'single-vegetables.php';
  5. } else {
  6.     // Continue with normal Loop
  7.     if ( have_posts() ) : while ( have_posts() ) : the_post();
  8.     // ...
  9. }

6、综合举例2

  1. if ( in_category( 'linux' )) {
  2.     // 如果这篇文章属于linux类,此处添加要执行的内容。
  3. } elseif ( in_category( array( 'apache', 'nginx' ) )) {
  4.     // 如果这篇文章同时属于apache和nginx分类,此处添加要执行的内容。
  5. } else {
  6.     // etc.
  7. }

is_category函数

方法

  1. < ?php is_category($category); ?>

参数
$category,也就是说这个参数可以嵌入单个分类归档的ID或标题,也可以嵌入多个分类组合的ID或标题。当然,这个参数的默认值是None。
返回值
要么是真(True),要么是假(False)
举例

  1. < ?php
  2. 	if(is_category())
  3. 	//如果这是一个分类归档页面,此处添加要执行的内容。 
  4. 	if(is_category('1'))
  5. 	//如果这是一个分类ID为1的分类归档页面,此处添加要执行的内容。 
  6. 	if(is_category('internet')){
  7. 	//如果这是一个分类URL为internet的分类归档页面,此处添加要执行的内容。 
  8. 	if(is_category('电子商务'))
  9. 	//如果这是一个分类标题为电子商务的分类归档页面,此处添加要执行的内容。 
  10. 	if(is_category(1,2,3)){
  11. 	//如果这是一个分类ID分别为1,2,3的数组型分类归档页面,此处添加要执行的内容。
  12. ?>

总结

在wordpress里面判断某个东西是否属于某分类,则用in_category,而如果是想判断某个分类的表现,那就要用is_category函数。总之,分类页判断分类用is_category(), 内容页判断分类需用in_category()


发布日期:

所属分类: WordPress 函数 标签:   


没有相关文章!