禁止WordPress文章段落自动添加p标签

这几天,乐朦的新主题上线了,新主题在style.css中直接添加了如下代码,实现了首行缩进两个字符的功能,这是利用了WordPress自动分段机制,WordPress会根据内容添加<p>或者<br />标签。

.entry p{
    text-indent: 2em
}

但是,这存在一个问题,那就是如果文章的开头是图片,则图片也会缩进两个字符,如下图,看起来非常不舒服,下面介绍集中禁用自动分段机制的方法和我自己解决图片缩进问题的方法。

方法一:禁用自动添加<p>标签

将single.php中的<?php the_content();?>更换成更换成<?php echo $post->post_content;?>,z这样文章就会直接输出引用的内容,实现禁用

标签的目的。但是这会引起另一个问题,那就是自动内链,及以上的自动缩进两个字符等功能会失效,所以不推荐!

方法二:禁用自动添加<p>标签

这种方法也非常简单,后台主题编辑模式下打开模板函数(functions.php)文件,在里面添加如下代码

 remove_filter (  'the_content' ,  'wpautop'  );//移除文章p自动标签
 remove_filter (  'the_excerpt' ,  'wpautop'  );//移除摘要p自动标签
 remove_filter( 'comment_text', 'wpautop',  30 );//取消评论自动

以上代码可以根据需要添加,也可以实现禁止自动添加<p>标签。这个代码只是移除了自动添加的标签,不会引起其他问题,但是这会让主题的首行缩进功能失效,所以也不能采用

方法三:后台手动替换<p>标签

这种方法最好用最快捷,我就是使用这种方法去除了图片缩进,在不想使用分段的本文上添加<div>,这样就会将自动添加的<p>替换掉。为了提高效率,可以将快速标签添加到TinyMCE编辑器中,或者在可视化编辑模式下添加按钮。参考本站文章TinyMCE编辑器增强:增加HTML标签


更新

经过netnote提醒,文章图片去除文本缩进有一种更简单的办法就是给文章图片添加display:block属性,图片就不再继承文本缩进属性,谢谢提醒。顺便记录。并将WordPress后台插入图片时,居中,左对齐,右对齐的CSS代码一并记录如下

.entry img {
  max-width: 100%;
  height: auto;
  display: block;
}
.aligncenter{
  margin: 0 auto;
}
.alignleft{
  float: left;
}
.alignright{
  float:right;
}
乐朦也是入坑不久的新手,请各位朋友不吝赐教,我将虚心接受。感谢各位朋友的支持

发表评论

  1. netnote 回复

    你的方法都比较老火,简单的方法是给图片添加display:block属性,见http://blog.aiboshuo.com/1034.html