让WordPress不同的分类目录的文章调用不同的模板

近日,因为网站建设的需要,在没有使用自定义文章类型的情况下,使用不同的分类目录里的文章调用不同的模板,作为注册wordpress大学的见面礼。

首先在function.php里,添加如下代码:

//获取并输入某个分类的子分类

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;

}

复制一份single.php,命名为:single-*.php文件名(你可以根据自己的需要,制作多个 single-*.php 文件,通过修改每个single-*.php 文件的html结构和添加对应的CSS,就可以实现不同的文章页面样式 )。

将 single.php 里面除了 get_header(); get_footer(); get_sidebar(); 之外的所有内容改成:

<?php

if ( in_category(‘16‘) || post_is_in_descendant_category(16) )//可自行修改 这里包含分类目录里的文章和分类目录里的子分类目录里的文章

{

include(TEMPLATEPATH .‘/single-16.php‘);

}

elseif ( in_category(‘7‘) || post_is_in_descendant_category(7) )//如果只有两类single.php,可以不要这段,如果是多类,则添加多个elseif

{

include(TEMPLATEPATH . ‘/single-7.php‘);

}

else{

include(TEMPLATEPATH . ‘/single-other.php‘);

}//给其他分类的文章调用的。

?>

倡萌注:该文章的方法和倡萌之前分享的《WordPress不同分类使用不同的文章模板》的方法二一样,就是使用 in_category() 函数来判断,不同的地方就是添加了自定义函数 post_is_in_descendant_category() 来获取某个分类的子分类。

如果有更多的技术技巧分享也请在www.diandian100.cn联系我,谢谢大家的分享

让WordPress不同的分类目录的文章调用不同的模板

时间: 2024-08-29 18:52:28

让WordPress不同的分类目录的文章调用不同的模板的相关文章

Wordpress不同分类调用不同的模板

这里指的是默认文章类型的模板(single.php,category.php) 应用场景: 默认文章默认有2个大类(新闻资讯.游戏资料) 新闻资讯下的所有子分类调用"新闻资讯列表模板,新闻内容模板" 游戏资料下的所有子分类调用"游戏资料列表模板,游戏资料内容模板" 文章列表页category.php 在category.php做判断 如果该子分类属于"新闻资讯根分类",则调用新闻资讯列表模板 如果该子分类属于"游戏资料根分类"

wordpress代码实现分类目录末尾加斜杠/

wordpress代码实现分类目录末尾加斜杠/ ,最近看到许多同学使用wordpress时候有很多问题,比如就添加斜杠来说:很多博客都使用了插件形式,我们知道插件形式会拖慢速度,第二因素:别人编辑的插件长久时间不更新,导致更PHP开源程序不融洽.那么为了用代码实现小慕给大家贴出了以下代码,直接复制到主题的functions.php文件下即可. 1 <?php 2 //wordpress目录自动增加斜杠 3 if (is_admin()) return; 4 $permalink_structur

dedeCMS中单独调用子栏目模板和子栏目的文章时修改源代码给channel和chanenartllist加上limit

在网站文件中找到include-taglib-chanel.lib.php,和chaneartllist.lib.php 下载用php的IDE打开, chanel.php加入limit属性修改如下 <?php /** * 获取栏目列表标签 * * @version $Id: channel.lib.php 1 9:29 2010年7月6日Z tianya $ * @package DedeCMS.Taglib * @copyright Copyright (c) 2007 - 2010, Des

织梦相关文章调用方法

存在问题 DEDECMS文章内容页默认模板缺少相关文章,对用户及搜索引擎查找及判断文章主题不利. 解决办法 利用DEDECMS的相关文章标签:{dede:likearticle},调用方法如下: {dede:likearticle row='10' titlelen='80'} <li><a href="[field:arcurl/]" title="[field:title /]">[field:title /]</a><

wordpress对显示某分类目录的文章列表页时对单个文章显示字数限制和省略

wordpress会在对应的此类列表页面模板中,遍历输出每篇文章的信息,缩略图,作者,正文,标题等, 输出具体的正文的部分 使用这样一句 <?php the_content(''); ?> 默认通过在页面调用这个函数将完整输出wordpress的正文 但是如果我们需要在一个显示某分类的全部文章的页面中,不输出全部的单个文章的正文呢,这种需求很常见,我们让它在其下显示一个按钮,链到单独文章的详情页去 首先可以使用 <!--more--> 标签,在编辑 单独的每个文章时, 编辑器上的功

WordPress文章调用

首先介绍一下文章分类id的获取 打开数据库,terms数据表下term_id便是文章分类. 一:调用指定分类文章下一定数目的文章标题. 7, // 分类ID 'posts_per_page' => 5, // 显示篇数 ); query_posts($args); if(have_posts()) : while (have_posts()) : the_post(); ?>//文章标题 二:WordPress中显示文章发布时间 php the_time('Y年n月j日'); ?> //

WordPress 前端投稿/编辑发表文章插件 DJD Site Post(支持游客和已注册用户)汉化版 免费下载

插件简介 前面逍遥乐给大家推荐了 WordPress用户前端化专业版WP User Frontend Pro WordPress中文汉化插件v2.1.9 今天逍遥乐给大家带来的wordpress插件是 WordPress 前端投稿/编辑插件 DJD Site Post,它不仅支持已注册用户投稿,还支持给匿名游客投稿,而且在投稿界面添加了登录链接,登录成功后自动返回投稿界面,体验很不错.该插件还允许用户上传媒体文件,集成WP自身的编辑器(可后台设置),支持选择分类和添加标签等等.支持有新文章投稿时

wordpress 页面显示指定分类文章

首页显示指定分类备份主题文件夹中的 index.php 文件,修改index.php找到如下一行代码:<?php if (have_posts()) : ?>在上面这行代码的前面加上:<?php query_posts('showposts=10 & cat=1');?>其中 1 为分类 id,10为文章篇数.想在首页中显示指定分类文章也可参考如下操作 // 只显示分类 14 下的文章 <?php while( have_posts()): the_post();up

wordpress让文章使用不同的模板

|Custom Post Template插件. 步骤:  1,安装custom post template插件.WP下载:点我 2.   复制single.php并重命名,例如single-new.php 3.打开重命名的文件 ,在顶部添加代码 <?php /* Template Name Posts: new */ ?> |函数指定分类模板 还有一种是用函数指定分类文章模板:点我 add_action('template_include', 'load_single_template');