Comments: Minor adjustments to `wp_update_comment()`:

* Revert the logic of `$wp_error` checks to avoid negation.
* Clarify the return value, restore the edits from [47017].
* Update `wp_update_comment_data` filter check to allow `false` to prevent the update.

Follow-up to [48154].

See #39732.
Built from https://develop.svn.wordpress.org/trunk@48215


git-svn-id: http://core.svn.wordpress.org/trunk@47984 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2020-06-29 22:44:03 +00:00
parent 347e831768
commit d8a08ecada
2 changed files with 13 additions and 14 deletions

View File

@ -2427,8 +2427,8 @@ function wp_set_comment_status( $comment_id, $comment_status, $wp_error = false
* *
* @param array $commentarr Contains information on the comment. * @param array $commentarr Contains information on the comment.
* @param bool $wp_error Optional. Whether to return a WP_Error on failure. Default false. * @param bool $wp_error Optional. Whether to return a WP_Error on failure. Default false.
* @return int|bool|WP_Error Comment was updated if value is 1, or was not updated if value is 0, * @return int|false|WP_Error The value 1 if the comment was updated, 0 if not updated.
* false, or a WP_Error object. * False or a WP_Error object on failure.
*/ */
function wp_update_comment( $commentarr, $wp_error = false ) { function wp_update_comment( $commentarr, $wp_error = false ) {
global $wpdb; global $wpdb;
@ -2436,20 +2436,20 @@ function wp_update_comment( $commentarr, $wp_error = false ) {
// First, get all of the original fields. // First, get all of the original fields.
$comment = get_comment( $commentarr['comment_ID'], ARRAY_A ); $comment = get_comment( $commentarr['comment_ID'], ARRAY_A );
if ( empty( $comment ) ) { if ( empty( $comment ) ) {
if ( ! $wp_error ) { if ( $wp_error ) {
return new WP_Error( 'invalid_comment_id', __( 'Invalid comment ID.' ) );
} else {
return 0; return 0;
} }
return new WP_Error( 'invalid_comment_id', __( 'Invalid comment ID.' ) );
} }
// Make sure that the comment post ID is valid (if specified). // Make sure that the comment post ID is valid (if specified).
if ( ! empty( $commentarr['comment_post_ID'] ) && ! get_post( $commentarr['comment_post_ID'] ) ) { if ( ! empty( $commentarr['comment_post_ID'] ) && ! get_post( $commentarr['comment_post_ID'] ) ) {
if ( ! $wp_error ) { if ( $wp_error ) {
return new WP_Error( 'invalid_post_id', __( 'Invalid post ID.' ) );
} else {
return 0; return 0;
} }
return new WP_Error( 'invalid_post_id', __( 'Invalid post ID.' ) );
} }
// Escape data pulled from DB. // Escape data pulled from DB.
@ -2490,8 +2490,8 @@ function wp_update_comment( $commentarr, $wp_error = false ) {
/** /**
* Filters the comment data immediately before it is updated in the database. * Filters the comment data immediately before it is updated in the database.
* *
* Note: data being passed to the filter is already unslashed. Returning 0 or a * Note: data being passed to the filter is already unslashed. Returning false
* WP_Error object is preventing the comment to be updated. * or a WP_Error object would prevent the comment from being updated.
* *
* @since 4.7.0 * @since 4.7.0
* @since 5.5.0 The `$wp_error` parameter was added. * @since 5.5.0 The `$wp_error` parameter was added.
@ -2499,13 +2499,12 @@ function wp_update_comment( $commentarr, $wp_error = false ) {
* @param array $data The new, processed comment data. * @param array $data The new, processed comment data.
* @param array $comment The old, unslashed comment data. * @param array $comment The old, unslashed comment data.
* @param array $commentarr The new, raw comment data. * @param array $commentarr The new, raw comment data.
* @param bool $wp_error Optional. Whether to return a WP_Error on failure. * @param bool $wp_error Whether to return a WP_Error on failure.
* Default false.
*/ */
$data = apply_filters( 'wp_update_comment_data', $data, $comment, $commentarr, $wp_error ); $data = apply_filters( 'wp_update_comment_data', $data, $comment, $commentarr, $wp_error );
// Do not carry on on failure. // Do not carry on on failure.
if ( is_wp_error( $data ) || 0 === $data ) { if ( is_wp_error( $data ) || ! $data ) {
return $data; return $data;
} }

View File

@ -13,7 +13,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '5.5-alpha-48214'; $wp_version = '5.5-alpha-48215';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.