![](/img/trans.png)
[英]Wordpress' comment_text() function adds <p> </p> automatically
[英]Wordpress comment_text() missing <p> tags
我正在創建自己的 WordPress Bootstrap 主題並遇到了一個奇怪的問題。
當我提交評論並等待審核時, comment_text()
不會 output 任何<p>
標簽。
我試過禁用所有插件並重命名我的functions.php
文件,問題仍然存在。
我的代碼:
<div class="comment-content my-4"><?php comment_text(); ?></div>
批准的評論(有<p>
標簽):
<div id="comment-10" class="comment even thread-even depth-1 media">
<div class="d-flex mt-2 p-2 border rounded">
<div class="flex-grow-1 ms-3">
<div class="author">Barry says</div>
<div class="small"><a href="https://example.com/test/#comment-10" class="text-decoration-none">September 11, 2022 at 8:06 am</a></div>
<div class="comment-content my-4"><p>Testing to see how this comment looks</p></div>
等待審核(無<p>
標簽):
<div id="comment-59" class="comment even thread-even depth-1 media">
<div class="d-flex mt-2 p-2 border rounded">
<div class="flex-grow-1 ms-3">
<div class="author">Dave says</div>
<div class="small"><a href="https://example.com/test/#comment-59" class="text-decoration-none">October 5, 2022 at 8:14 pm</a></div>
<p class="card-text comment-awaiting-moderation label label-info text-muted">Your comment is awaiting moderation.</p>
<div class="comment-content my-4">ok how does this look</div>
此外,當我啟用訂閱評論重新加載插件時,評論如下所示:
<div id="comment-63" class="comment even thread-even depth-1 media">
<div class="d-flex mt-2 p-2 border rounded">
<div class="flex-grow-1 ms-3">
<div class="author">Ken says</div>
<div class="small"><a href="https://example.com/test/#comment-63" class="text-decoration-none">October 5, 2022 at 8:45 pm</a></div>
<p class="card-text comment-awaiting-moderation label label-info text-muted">Your comment is awaiting moderation.</p>
<div class="comment-content my-4">Check your email to confirm your subscription.
Ok this doesn't look right
</div>
查看插件的源代碼,他們還為消息添加了<p>
標簽,但這些標簽也被刪除了。
我不知道問題可能是什么。 有什么建議么?
我終於找到了解決問題的方法。
wp_kses
Walker_Comment::filter_comment_text()
中的 WordPress function wp_kses 默認去除所有<p>
標簽( <p>
標簽未列在“$allowedtags”數組中)。
https://github.com/WordPress/wordpress-develop/blob/6.0.2/src/wp-includes/kses.php#L379-L413
為了解決這個問題,我只想在評論中允許<p>
標簽,所以我在我的Bootstrap_Comment_Walker extends Walker_Comment
class 中添加了以下 function:
public function filter_comment_text( $comment_text, $comment )
{
$allowedtags = array(
'p' => array(),
);
return wp_kses( $comment_text, $allowedtags );
}
現在一切都按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.