去掉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 ?>

标签: wordpress

文章“去掉wordpress分类描述的<p></p>标签以及换行”已有 2 条评论

  1. 如果是标签页面的呢?
    另外,如果标签页面,首页,分类页面的分页怎么办?

    1. 标签描述的调用是
      echo tag_description();
      前面要加php,去掉p和换行,就变成
      echo trim(strip_tags(tag_description()));
      放到functions.php里还不知道怎么弄

添加新评论 »