菜单

WordPress分歧分类调用差其他模板

2019年1月18日 - 注册免费送38元体验金

此间指的是默认文章类型的模板(single.php,category.php)

 

行使场景:

默许文章默许有2个大类(消息资讯、游戏资料)

新闻资讯下的所有子分类调用“音信资讯列表模板,音讯内容模板”

打闹资料下的所有子分类调用“游戏资料列表模板,游戏资料内容模板”

 小说列表页category.php

在category.php做判断

即使该子分类属于“信息资讯根分类”,则调用音信资讯列表模板

万一该子分类属于“游戏资料根分类”,则调用游戏资料列表模板

此间的重中之重是“判断子分类是否属于根分类的函数”

WordPress没有默许的函数,需求如下代码:

//函数cate_is_in_descendant_category( $cats )
//参数$cats一个分类ID,多个分类用ID数组

if ( ! function_exists( "post_is_is_descendant_category" ) ) {
    function cate_is_in_descendant_category( $cats ) {
        foreach ( (array) $cats as $cat ) {
            // get_term_children() accepts integer ID only
            $descendants = get_term_children( (int) $cat, "category" );
            if ( $descendants && is_category( $descendants ) )
                return true;
            }
            return false;
        }
}


is_category( $category )

参数:$category

(混合) (可选) 分类 ID, 分类标题 Title, 分类短标记 Slug 或者 ID数组,
Title数组, slugs数组.
默认: None

 

 

兑现操作

首先,复制七个category.php文件分别取名为“category1.php”
和“category2.php”。
下一场,把本来的category.php文件之中的情节全方位去除,并用上边的代码进行沟通:

<?php
if ( cate_is_in_descendant_category( 2 ) ) {
    include(TEMPLATEPATH . '/category1.php');
} else {
    include(TEMPLATEPATH . '/category2.php');
}

?>

趣味是:检查分类页ID,假如该ID属于分类ID9,则浮现category1.php,即使不是,则突显category2.php。

 

 

 

 文章列表页category.php

 

注册免费送38元体验金,在single.php做判断 

这边的第一是“判断子分类下的篇章是不是属于根分类的函数”

WordPress没有默许的函数,需求如下代码:

if ( ! function_exists( "post_is_in_descendant_category" ) ) {
    function post_is_in_descendant_category( $cats, $_post = null ) {
        foreach ( (array) $cats as $cat ) {
            // get_term_children() accepts integer ID only
            $descendants = get_term_children( (int) $cat, "category" );
            if ( $descendants && in_category( $descendants, $_post ) )
                return true;
            }
            return false;
        }
}

 


in_category(  $category ,
$_post )

参数1:$category

(混合的)(必选的)一个或四个被指定分类ID,分种类名或slug,或一个数组。

默认: 无

参数2:$_post

(混合的)(可选的)小说,默许为在主循环内的当前文章或在主查询中的小说。

默认: 无

 

 

心想事成操作

首先,复制两个single.php文件分别取名为“single1.php” 和“single2.php”。
下一场,把本来的single.php文件之中的情节总体剔除,并用下边的代码举行互换:

<?php
if ( cate_is_in_descendant_category( 2 ) ) {
    include(TEMPLATEPATH . '/single1.php');
} else {
    include(TEMPLATEPATH . '/single2.php');
}

?>

趣味是:检查日志,借使日志属于分类ID9,则显示single1.php,倘诺不是,则显示single2.php。

 

相关文章

发表评论

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

网站地图xml地图