pre_comment_approved WordPress Filter Hook

The pre_comment_approved hook is a hook that is called before a comment is approved. It is used to check whether a comment should be allowed to be approved or not.

apply_filters( 'pre_comment_approved', int|string|WP_Error $approved, array $commentdata ) #

Filters a comment’s approval status before it is set.


Parameters

$approved

(int|string|WP_Error)The approval status. Accepts 1, 0, 'spam', 'trash', or WP_Error.

$commentdata

(array)Comment data.


Top ↑

More Information

  • A filter hook called by the wp_allow_comment() function prior to inserting a comment into the database. The filter is applied to the proposed comment’s approval status, allowing a plugin to override.
  • wp_allow_comment() handles the preliminary approval checking, and that approval status is passed through this filter before it returns.
  • The $commentdata array contains the same indices as the array returned by WP_Comment_Query::get_comments(), including:

    'comment_post_ID' - The post to which the comment will apply
    'comment_author' - (may be empty)
    'comment_author_email' - (may be empty)
    'comment_author_url' - (may be empty)
    'comment_author_IP' - IP address
    'comment_agent' - e.g., "Mozilla/5.0..."
    'comment_content' - The text of the proposed comment
    'comment_type' - 'pingback', 'trackback', or empty for regular comments
    'user_ID' - (empty if not logged in)
  • Return Values:

    0 (int) comment is marked for moderation as "Pending"
    1 (int) comment is marked for immediate publication as "Approved"
    'spam' (string) comment is marked as "Spam"
    'trash' (string) comment is to be put in the Trash

    In all cases the comment is added to the database, even spam. Comments marked as spam will never be visible on the front end. Spam comments are kept for possible analysis by plugins.
  • Prior to WP 3.1, the filter was not passed $comment_data and instead was expected to use global variables such as $comment_ID to access information about the comment. (see: https://core.trac.wordpress.org/ticket/14802 )

Top ↑

Source

File: wp-includes/comment.php

View on Trac



Top ↑

Changelog

Changelog
VersionDescription
4.9.0Returning a WP_Error value from the filter will short-circuit comment insertion and allow skipping further processing.
2.1.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.

Show More
Show More