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

来源: 老季博客
日期: 2018-9-14
作者: 腾讯云/服务器VPS推荐评测/Vultr
阅读数: 45

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

if ( in_category('fruit') ) {
????include 'single-fruit.php';
} elseif ( in_category('vegetables') ) {
????include 'single-vegetables.php';
} else {
????// Continue with normal Loop
????if ( have_posts() ) : while ( have_posts() ) : the_post();
????// ...
}

6、综合举例2

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

is_category函数

方法

< ?php is_category($category); ?>

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

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

总结

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

链接到文章: https://jiloc.com/43870.html

发表回复

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