wp_filter_comment( array $commentdata ): array

Filters and sanitizes comment data.

Description

Sets the comment data ‘filtered’ field to true when finished. This can be checked as to whether the comment should be filtered and to keep from filtering the same comment more than once.

Parameters

$commentdataarrayrequired
Contains information on the comment.

Return

array Parsed comment information.

Source

function wp_filter_comment( $commentdata ) {
	if ( isset( $commentdata['user_ID'] ) ) {
		/**
		 * Filters the comment author's user ID before it is set.
		 *
		 * The first time this filter is evaluated, `user_ID` is checked
		 * (for back-compat), followed by the standard `user_id` value.
		 *
		 * @since 1.5.0
		 *
		 * @param int $user_id The comment author's user ID.
		 */
		$commentdata['user_id'] = apply_filters( 'pre_user_id', $commentdata['user_ID'] );
	} elseif ( isset( $commentdata['user_id'] ) ) {
		/** This filter is documented in wp-includes/comment.php */
		$commentdata['user_id'] = apply_filters( 'pre_user_id', $commentdata['user_id'] );
	}

	/**
	 * Filters the comment author's browser user agent before it is set.
	 *
	 * @since 1.5.0
	 *
	 * @param string $comment_agent The comment author's browser user agent.
	 */
	$commentdata['comment_agent'] = apply_filters( 'pre_comment_user_agent', ( isset( $commentdata['comment_agent'] ) ? $commentdata['comment_agent'] : '' ) );
	/** This filter is documented in wp-includes/comment.php */
	$commentdata['comment_author'] = apply_filters( 'pre_comment_author_name', $commentdata['comment_author'] );
	/**
	 * Filters the comment content before it is set.
	 *
	 * @since 1.5.0
	 *
	 * @param string $comment_content The comment content.
	 */
	$commentdata['comment_content'] = apply_filters( 'pre_comment_content', $commentdata['comment_content'] );
	/**
	 * Filters the comment author's IP address before it is set.
	 *
	 * @since 1.5.0
	 *
	 * @param string $comment_author_ip The comment author's IP address.
	 */
	$commentdata['comment_author_IP'] = apply_filters( 'pre_comment_user_ip', $commentdata['comment_author_IP'] );
	/** This filter is documented in wp-includes/comment.php */
	$commentdata['comment_author_url'] = apply_filters( 'pre_comment_author_url', $commentdata['comment_author_url'] );
	/** This filter is documented in wp-includes/comment.php */
	$commentdata['comment_author_email'] = apply_filters( 'pre_comment_author_email', $commentdata['comment_author_email'] );

	$commentdata['filtered'] = true;

	return $commentdata;
}

Hooks

apply_filters( ‘pre_comment_author_email’, string $author_email_cookie )

Filters the comment author’s email cookie before it is set.

apply_filters( ‘pre_comment_author_name’, string $author_cookie )

Filters the comment author’s name cookie before it is set.

apply_filters( ‘pre_comment_author_url’, string $author_url_cookie )

Filters the comment author’s URL cookie before it is set.

apply_filters( ‘pre_comment_content’, string $comment_content )

Filters the comment content before it is set.

apply_filters( ‘pre_comment_user_agent’, string $comment_agent )

Filters the comment author’s browser user agent before it is set.

apply_filters( ‘pre_comment_user_ip’, string $comment_author_ip )

Filters the comment author’s IP address before it is set.

apply_filters( ‘pre_user_id’, int $user_id )

Filters the comment author’s user ID before it is set.

Changelog

VersionDescription
2.0.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.