A-A+

关于不同分类日志调用不同日志模板的解决方法

2009年01月18日 WordPress 暂无评论 阅读 1 次
摘要:

一般来说,这个标签必须用在The Loop内部,因为标签使用取决于一个WordPress PHP 变数($post),而只有Loop运行的时候,这个变数才会拥有一个值。然而,你可以动手赋予这个参数一个值,可以在Loop外使用标签。

使用到的函数:in_category

一般来说,这个标签必须用在The Loop内部,因为标签使用取决于一个WordPress PHP 变数($post),而只有Loop运行的时候,这个变数才会拥有一个值。然而,你可以动手赋予这个参数一个值,可以在Loop外使用标签。

例如,假如你希望主题中有个single.php 模板文件,根据单篇文章属于类别的不同,主题会展现一个完全不同的网页。在Loop中调用in_category(),对你的主题可能造成不便。因此使用下面的内容,作为你的主题的single.php。

所使用的代码:注意和元代码中使用的loop语句是不同的哦。

<?php
 if ( have_posts() ) { the_post(); rewind_posts(); }
 if ( in_category(17) ) {
 include(TEMPLATEPATH . '/single2.php');
 } else {
 include(TEMPLATEPATH . '/single1.php');
 }
 ?>

 

注意:single.php是原始的日志模板(修改以后这个模板就成为了一个起判断作用的页面,不做模板使用了。PS我自己的理解),所以你必须copy一份原来single.php用来做普通的日志模板。暂且定名为single_putong.php  还要制作一份你将要使用的特定分类模板,暂且定名为single2.php

现在single.php中的代码应该是这个样子。

<?php get_header(); ?>
    <?php
 if ( have_posts() ) { the_post(); rewind_posts(); }
 if ( in_category(245) ) {
 include(TEMPLATEPATH . ‘/single2.php’);
 } else {
 include(TEMPLATEPATH . ‘/single_putong.php’);
 }
 ?>
<?php get_footer(); ?>

single2.php中的代码根据自己的需要做相应的修改。

这样给大家描述不知道能不能理解,如果还有什么不懂的可以留言给我

给我留言

Copyright © 浩然东方 保留所有权利.   Theme  Ality 07032740

用户登录