搜索
Hi~登录注册
查看: 1104|回复: 0

WordPress中如何调用不同分类使用不同分类列表样式和文章样式 -wordpress教程

[复制链接]

1892

主题

1899

帖子

6406

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6406
发表于 2015-4-20 15:50:11 | 显示全部楼层 |阅读模式

                                <b>[文章目录]</b>
                                <ul id="index-ul">
<li>方法一:创建独立ID或别名的样式文件</li>
<li>方法二:判断ID调用不同样式的文件</li>
</ul>
                        </div>
同学们大家好,今天<span style="color: #003300;"><span style="font-size: 14pt; color: #003300;"><strong>吾爱互联</strong></span></span>将与大家分享如何调用不同分类使用不同分类列表样式和文章样式
请看另外一篇文章
<span style="color: #ff0000; font-size: 14pt;"><strong>《WordPress不同分类使用不同的文章模板调用方法详解》</strong></span>
&nbsp;
<h2 id="title-0">方法一:创建独立ID或别名的样式文件
&nbsp;
WordPress默认的分类是查找对应ID的主题文件,找不到就会指向archive.php文件,如果archive.php文件不存在,就会默认使用index.php文件。
到博客后台查看一下要设计样式的分类的ID,假设分类ID为8,之后把主题文件archive.php复制一下,把文件改名为:category- 8.php,这样当你浏
览分类ID为8的分类时,就会自动调用category-8.php主题文件,就实现了自定义显示分类为8的样式。
上面是根据ID来创建文件,其实也可以通过别名来创建,比如id为8的分类别名为diary,那么创建一个名为category-diary.php的文件,效果和
category-8.php是一样的。
当然了,你创建的category-8.php或category-diary.php的样式要区别于archive.php哦,要不然,就称不上“不同分类使用不同列表样式”了,呵呵。
&nbsp;
<h2 id="title-1">方法二:判断ID调用不同样式的文件
&nbsp;
在这里,就要使用到 is_category 这个函数,首先,我们创建两个以上的不同样式的列表文件,比如这里创建title_list.php(简单的标题列表)、
thumb_list.php(有缩略图的列表样式)和img_list.php(图片类表样式),然后创建一个archive.php文件,在 archive.php中使用下面的代码实现
不同的效果。
例如:
1)要实现id为8的分类使用的是thumb_list.php样式,其余的使用title_list.php样式,代码如下:
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c" start="1">
<li class="alt"><?php</li>
<li></li>
<li class="alt"><span class="keyword">if</span> ( is_category(8) ) {</li>
<li></li>
<li class="alt"><span class="keyword">include</span>(TEMPLATEPATH . '/thumb_list.php');</li>
<li></li>
<li class="alt">} <span class="keyword">else</span> {</li>
<li><span class="keyword">include</span>(TEMPLATEPATH . '/title_list.php');</li>
<li class="alt"></li>
<li>}</li>
<li class="alt"></li>
<li>?></li>
</ol>
</div>
2)要实现id为8、9、10这三个分类都使用thumb_list.php样式,其余的使用title_list.php样式呢?可以通过数组实现,以此类推,具体代码如下:
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c" start="1">
<li class="alt"><?php</li>
<li></li>
<li class="alt"><span class="keyword">if</span> ( is_category(<span class="keyword">array</span>(8,9,10)) ) {</li>
<li></li>
<li class="alt"><span class="keyword">include</span>(TEMPLATEPATH . '/thumb_list.php');</li>
<li></li>
<li class="alt">} <span class="keyword">else</span> {</li>
<li><span class="keyword">include</span>(TEMPLATEPATH . '/title_list.php');</li>
<li class="alt"></li>
<li>}</li>
<li class="alt"></li>
<li>?></li>
</ol>
</div>
3)要实现id为8、9、10三个分类使用thumb_list.php样式,id为1、2、3的分类使用img_list.php样式,其余使用title_list.php样式,可以使用
elseif实现,代码如下:<br />
<?php
if ( is_category(array(8,9,10)) ) {
include(TEMPLATEPATH . '/thumb_list.php');
} elseif ( is_category(array(1,2,3)) {
include(TEMPLATEPATH . '/img_list.php');
} else {<br />
include(TEMPLATEPATH . '/title_list.php');
}
?>
我想,通过这里的三个例子,你应该可以根据自己的需要来自己折腾了吧。
小结:上面两种方法都可以实现WordPress不同分类使用不同列表样式,大家可以根据自己需要来选择,倡萌个人更加倾向于方法二,因为通过数组调
用,只要给主题设置后台添加一个填写分类id数组的表单,就可以让主题使用者方便地设置啦。
WordPress不同分类下的文章使用不同文章样式
这里的文章样式,指的就是文章内容页的样式。实现的方法和上面说到的方法二的原理是一样的,只不过使用的函数不是is_category ,而是
in_category 。
同样我们要根据需要创建两个以上的文章样式,比如single1.php、single2.php和single3.php,然后在single.php通过in_category 判断代码来实现
自己需要的效果。
比如要实现id为8、9、10三个分类下的文章使用single1.php样式,id为1、2、3的分类下的文章使用single2.php样式,其余使用single3.php样式,代
码如下:
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c" start="1">
<li class="alt"><?php</li>
<li></li>
<li class="alt"><span class="keyword">if</span> ( in_category(<span class="keyword">array</span>(8,9,10)) ) {</li>
<li></li>
<li class="alt"><span class="keyword">include</span>(TEMPLATEPATH . '/single1.php');</li>
<li></li>
<li class="alt">} <span class="keyword">elseif</span> ( in_category(<span class="keyword">array</span>(1,2,3)) {</li>
<li></li>
<li class="alt"><span class="keyword">include</span>(TEMPLATEPATH . '/single2.php');</li>
<li></li>
<li class="alt">} <span class="keyword">else</span> {</li>
<li><span class="keyword">include</span>(TEMPLATEPATH . '/single3.php');</li>
<li class="alt"></li>
<li>}</li>
<li class="alt"></li>
<li>?></li>
</ol>
</div>
好了,基本的思路就是这样,最后的总结只有一句:分类页判断分类用is_category(), 内容页判断分类需用in_category()。
公众微信:idc5ahl
公众QQ:吾爱互联
关注公众微信,公众QQ每天领现金卡密
卡密介绍(http://www.5ahl.com/thread-2182-1-1.html
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 点我注册

快速回复 返回顶部 返回列表