去掉wordpress分类描述的<p></p>标签以及换行
作者:笑望书 发布时间:January 21, 2010 分类:建站心得
大家知道如果想调用wordpress某个分类的描述,可以用category_description() 函数,
比如我想把分类描述作为分类页里meta的description,可以用下面代码。
<?php if ( is_category() ) { ?>
<meta name="description" content="<?php echo category_description($cat_ID); ?>" />
<?php } ?>
这样调用的结果会是这样的形式“<p>分类描述</p>”
在前后多出一个<p></p>,这样会让人很不爽,有什么方法可以去掉这个呢,我们可以加个去掉Html标签的strip_tags() 函数,这样完全不用修改程序源码就可以实现去掉<p></p>的效果。具体代码如下:
<?php if ( is_category() ) { ?>
<meta name="description" content="<?php echo strip_tags(category_description($cat_ID)); ?>" />
<?php } ?>
上面的方法可以简单去掉<p></p>,但是你会发现结果还多了一个换行,这样看上去还是不爽,最后我查了一下php函数,发现还有个函数可以方便地去掉换行,那就是trim()。总的来说现在有两个函数了,如果直接在模板里添加还是觉得不是很爽,想想放到什么地方好呢,相信你已经想到放到functions.php里,好的把下这段代码插到你模板里的functions.php里。
function deletehtml($description) {
$description = trim($description);
$description = strip_tags($description,"");
return ($description);
}
add_filter('category_description', 'deletehtml');
header.php或者其他模板里直接调用category_description()你就可以看到完美结果了。
<?php if ( is_category() ) { ?>
<meta name="description" content="<?php echo category_description($cat_ID); ?>" />
<?php } ?>
如果是标签页面的呢?
另外,如果标签页面,首页,分类页面的分页怎么办?
标签描述的调用是
echo tag_description();
前面要加php,去掉p和换行,就变成
echo trim(strip_tags(tag_description()));
放到functions.php里还不知道怎么弄