有时候,我们在对页面模板进行调整,手动调用数据到前端时会用到post_content来获取文章内容。这时候会发现,我么在后台简单发布的带有折行的文字在前端突然不能换行了。这就是前端自动过滤了文章格式,特别是p标签。
post_content 在所有时候都无法显示正确的格式...基本上永远......
我们需要对其应用the_content过滤器:
echo apply_filters('the_content', $data);
这里提到in the Codex。
虽然wpautop只会在新行存在的情况下添加段落标记,但the_content会运行一堆核心过滤器(包括wpautop)。来自the source,the_content包括:
add_filter( 'the_content', 'wptexturize' ); add_filter( 'the_content', 'convert_smilies' ); add_filter( 'the_content', 'convert_chars' ); add_filter( 'the_content', 'wpautop' ); add_filter( 'the_content', 'shortcode_unautop' ); add_filter( 'the_content', 'prepend_attachment' );
为了在前端恢复显示正常文章格式,我们可以在模板中使用下面的方法:
echo wpautop( $post_content );
这样就可以恢复正常的P标签了。