如何去除WordPress comment_text()自动添加的<p>标签并自定义?
解决WordPress comment_text()自动添加
标签的问题
当然可以搞定这个问题!WordPress的comment_text()默认会调用wpautop函数自动给评论内容套上<p>标签,这就是你看到重复段落标签的原因。下面给你几个实用的解决办法:
方法1:修改comment_text()参数(灵活控制单处输出)
comment_text()支持传入参数关闭自动段落格式化,你可以这样调用:
<?php comment_text( '', array( 'format' => '0' ) ); ?>
这样输出的评论内容就不会自带<p>标签了,你可以根据需要手动添加标签包裹,比如:
<p><?php comment_text( '', array( 'format' => '0' ) ); ?></p>
方法2:全局移除自动段落过滤(全站生效)
如果希望所有评论都不再自动生成<p>标签,可以在主题的functions.php文件中添加这段代码:
remove_filter( 'comment_text', 'wpautop' );
添加后,所有comment_text()的调用都会输出不带自动<p>标签的内容,你可以完全自主控制评论的标签结构。
方法3:用get_comment_text()获取原始内容(完全自定义)
要是需要更彻底的控制权,直接用get_comment_text()函数就行——它会返回仅经过安全过滤的原始评论文本,不会添加段落标签,你可以自己处理标签:
<p><?php echo get_comment_text(); ?></p>
这样就能精准输出你想要的结构,不会出现多余的<p>标签。
内容的提问来源于stack exchange,提问作者dogankirnaz




