wordpress 文章内容缺少P标签怎么办?

有时候,我们在对页面模板进行调整,手动调用数据到前端时会用到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标签了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注