获取当前页文章分类并判断是否显示一个div

前天在做苹果资讯站的新版时需要做一个比较特别的功能,首先要利用WP-PostRatings使到用户可以为“精品应用软件”这个栏目里的每个软件进行评分,并且在首页的栏目里显示评分结果,但这不是关键,关键是要在每个软件对应的文章页里显示软件评分,简单点来说就是要在分类为“APP精品”的文章的文章页里显示一个div,而div的内容就是评分结果,但其他文章分类下的文章页面并不需要显示这个div。

 

这下可麻烦了,wordpress里并没有一个函数可以根据当前页的文章分类而判断是否显示一个div,于是解决办法也很明显了,自己写咯~

 

折腾了半天,终于用php和wordpress函数把代码写好了,在放上代码前先简单说一下这段代码的原理:

 

我们都知道wordpress里有the_category函数,用于显示当前页文章分类并带有分类归档页的链接,其实在wordpress里还有个功能相似的函数get_the_category,它也能获取当前页的文章分类,但这个分类可以传递给数组作为值,并且不带有链接。在把分类作为值赋给数组后,利用php写一个判断,若判断为指定的分类,则显示div。

 

具体代码如下:

<?php $category = get_the_category();?>
<?php if ( $category[0]->cat_name == "APP精品" ) : ?>
<div class="bou_post_ratings">
<?php if(function_exists('the_ratings')) { the_ratings(); } ?>
</div>
<?php endif; ?>

把上面的代码放在single.php中需要显示div的地方即可。

说明:

1.bou_post_ratings即为你需要的div,其中cat_name是指根据分类的名称进行判断,以cat_name为判断依据是最为简便的方法,就算你重新建立分类目录,只要分类的名称没有改变就不用修改主题模板了。

2.这里获取的是文章的第一个分类,如果需要根据第二个或后面的分类来进行判断,可以修改数组下标,category[1]代表第二个分类,category[2]代表第三个分类,依次类推。

按照上面的原理,只要修改一下代码,并能作出多种效果,比如根据作者、文章发表日期、标签、甚至是文章名判断是否显示一个div,或者是判断是否输出一种指定的文章格式。只要加上自己的创意,便能做出丰富的文章页效果。

本文由 Kayo Lee 发表,本文链接:http://kayosite.com/get-single-cat-show-div.html

评论列表

回复

你正在以游客身份访问网站,请输入你的昵称和 E-mail
:wink: :roll: :oops: :mrgreen: :idea: :cry: :?: :-| :-o :-P :-? :) :( 8-O