wordpress 内容不能自动换行的问题

作者

今天遇到一个比较奇葩的问题,就是wordpress的内容输出不会自动换行,所有的内容都挤在了一块。当然我说的是前台的输出。 后台编辑器中没有任何问题。显示也是带换行的。

经过一番检查,发现模板里的内容输出是 $post->post_content , 直接读取了数据库的信息。没有经过wordpress的处理,就直接输出了。这里说的wordpress的处理,就是一些钩子的处理。

默认的情况

wordpress 默认输出是自动加上p标签的。如果直接输出流 $post->post_content 则不会自动加上 p标签。

解决的方法

使用 the_content() 输出内容。 这是标准的写法,数据会经过wordpress的处理。
(或者可以用 do_shortcode($post->post_content) 试试。!我是没有测试

使用the_content()输出,不想输入p标签怎么处理

把下面的代码,加入到 wordpress中,就可以防止自动添加p标签

remove_filter('the_content', 'wpautop');

wordpress 的后台编辑器为什么不自动添加一个p标签

我个人测猜测是, 更灵活更方便 。 如果不需要了可以用 remove_filter('the_content', 'wpautop');解决。 这样存入数据表表的数据是比较干净的,可以做更进一步的处理。防止自动添加的标签污染原始数据。

以上的解决太复杂了,来点简答的解决方法

, 使用插件。 搜索 TinyMCE Advanced 安装后又个选项可以自动加上p标签

回复

电子邮件地址不会被公开。