关于不同分类日志调用不同日志模板的解决方法
一般来说,这个标签必须用在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中的代码根据自己的需要做相应的修改。
这样给大家描述不知道能不能理解,如果还有什么不懂的可以留言给我。