A-A+

wordpress分类模板显示不同侧边栏

2015年02月01日 PHP开源系统 暂无评论 阅读 25 views 次

前几天有介绍过一篇文章《wordpress不同分类调用不同模板文件》 https://www.xiariboke.net/soft/1401.html,利用的是 wordpress 自定义字段来实现的,而最近在群里跟一些技术大牛交流,说如果分类没有多少,再使用这种方法就显得有点累赘,而且还要去改增加自定义函数,建立模板页面,不利于方便管理。

当然还有比较简单的方法,就是不用我们自己去建立函数,使用 wordpress 默认的判断语句来实现不同分类模板的展现,比如右侧一个模板的结构如下:

<div class="widget xxx_widget"> 
<h3>Widget Title</h3> 
<ul> 
<li>Item 1</li> 
<li>Item 2</li> 
<li>Item 3</li> 
</ul> 
</div>

如果我们要在首页显示 Archives, 单篇文章显示 Categories, 其他页面显示 Meta, 则需要改动代码:

<?php if (is_home()) : ?> 
<div class="widget archives_widget"> 
<h3>Archives</h3> 
<ul> 
<?php wp_get_archives(); ?> 
</ul> 
</div> 
<?php else if (is_single()) : ?> 
<div class="widget categories_widget"> 
<h3>Categories</h3> 
<ul> 
<?php wp_list_cats(); ?> 
</ul> 
</div> 
<?php else : ?> 
<div class="widget meta_widget"> 
<h3>Meta</h3> 
<ul> 
<?php wp_register(); ?> 
<li><?php wp_loginout(); ?></li> 
</ul> 
</div> 
<?php endif; ?>

is_home,is_single 是用来表示首页和单篇文章页面的,其实就是判断了页面是否是首页,是否是单页文章来显示侧边栏的,也可以将条件改成其它的,这种方法不用去新建模板页了,以及增加单独的函数了。

总结:两种方法各有各的优势,第一种方法适合分类模板变化较大的页面使用,当页面跟首页完全不同的时候就可以新建模板来自定义了,而第二种 if 判断的方法则适合模板改动不大,甚至一样的模板情况下,仅仅是多了一个模块或少了一个模块来使用,最后还是看自己的需求吧。

标签:

给我留言