WordPress tutorials: Remove HTML in comments

Wpsnipp – Remove HTML in comments.By default, WordPress allows commentators to use some HTML tags in comments for links, quote or format text. But in many blogs, these tags are rarely used, or even they’re used for spam links. In that case, we might want to let the commentators use only plain text in comments without any HTML tags.

 


To remove all HTML tags in comments, paste the following code into ‘function.php’ file:

// This will occur when the comment is posted
function plc_comment_post( $incoming_comment ) {
	// convert everything in a comment to display literally
	$incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
	// the one exception is single quotes, which cannot be #039; because WordPress marks it as spam
	$incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] );
	return( $incoming_comment );
}
// This will occur before a comment is displayed
function plc_comment_display( $comment_to_display ) {
	// Put the single quotes back in
	$comment_to_display = str_replace( ''', "'", $comment_to_display );
	return $comment_to_display;
}
add_filter( 'preprocess_comment', 'plc_comment_post', '', 1);
add_filter( 'comment_text', 'plc_comment_display', '', 1);
add_filter( 'comment_text_rss', 'plc_comment_display', '', 1);
add_filter( 'comment_excerpt', 'plc_comment_display', '', 1);

Be Sociable, Share!

Leave a comment