Comments: Comments don’t need no Post ID when created, so they don’t be needing one to be edited.
In `wp_update_comment()` only check if the given `comment_post_ID` is valid if it isn’t `0`. This allows comments that were created programmatically via `wp_insert_comment()` without the (optional) `comment_post_ID` parameter to be edited. Props subharanjan for the initial patch. Fixes #34954 git-svn-id: https://develop.svn.wordpress.org/trunk@35853 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
52384c2e6b
commit
d13adcc9bf
@ -1904,7 +1904,7 @@ function wp_update_comment($commentarr) {
|
||||
}
|
||||
|
||||
// Make sure that the comment post ID is valid (if specified).
|
||||
if ( isset( $commentarr['comment_post_ID'] ) && ! get_post( $commentarr['comment_post_ID'] ) ) {
|
||||
if ( ! empty( $commentarr['comment_post_ID'] ) && ! get_post( $commentarr['comment_post_ID'] ) ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -70,6 +70,21 @@ class Tests_Comment extends WP_UnitTestCase {
|
||||
$this->assertEquals( 1, $comment->user_id );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 34954
|
||||
*/
|
||||
function test_wp_update_comment_with_no_post_id() {
|
||||
$comment_id = self::factory()->comment->create( array( 'comment_post_ID' => 0 ) );
|
||||
|
||||
$updated_comment_text = 'I should be able to update a comment with a Post ID of zero';
|
||||
|
||||
$update = wp_update_comment( array( 'comment_ID' => $comment_id, 'comment_content' => $updated_comment_text, 'comment_post_ID' => 0 ) );
|
||||
$this->assertSame( 1, $update );
|
||||
|
||||
$comment = get_comment( $comment_id );
|
||||
$this->assertEquals( $updated_comment_text, $comment->comment_content );
|
||||
}
|
||||
|
||||
public function test_get_approved_comments() {
|
||||
$ca1 = self::factory()->comment->create( array(
|
||||
'comment_post_ID' => self::$post_id, 'comment_approved' => '1'
|
||||
|
Loading…
Reference in New Issue
Block a user