From 4ffefc257409266547a7503facea8af3fb9b775f Mon Sep 17 00:00:00 2001 From: Jake Spurlock Date: Fri, 27 Sep 2019 14:45:49 +0000 Subject: [PATCH] Comments: Avoid PHP notice in `get_comment_reply_link()` for `null` comment. If there is no global comment, or the input comment is null, return early to prevent warnings. Fixes #41846 Props birgire, earnjam git-svn-id: https://develop.svn.wordpress.org/trunk@46335 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/comment-template.php | 4 ++++ .../tests/comment/getCommentReplyLink.php | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/wp-includes/comment-template.php b/src/wp-includes/comment-template.php index b10fe1415e..69dcc1629a 100644 --- a/src/wp-includes/comment-template.php +++ b/src/wp-includes/comment-template.php @@ -1646,6 +1646,10 @@ function get_comment_reply_link( $args = array(), $comment = null, $post = null $comment = get_comment( $comment ); + if ( empty( $comment ) ) { + return; + } + if ( empty( $post ) ) { $post = $comment->comment_post_ID; } diff --git a/tests/phpunit/tests/comment/getCommentReplyLink.php b/tests/phpunit/tests/comment/getCommentReplyLink.php index 5ca395e610..73e288501c 100644 --- a/tests/phpunit/tests/comment/getCommentReplyLink.php +++ b/tests/phpunit/tests/comment/getCommentReplyLink.php @@ -66,4 +66,24 @@ class Tests_Comment_GetCommentReplyLink extends WP_UnitTestCase { $this->assertContains( $expected_url, $comment_reply_link ); } + + /** + * @ticket 41846 + */ + public function test_should_return_null_when_depth_less_than_max_depth_and_comment_null_and_no_current_global_comment() { + + // Let max depth be greater than depth and depth be non-zero. + $args = array( + 'depth' => 1, + 'max_depth' => 2, + ); + + // Make sure there's no global comment object. + add_filter( 'get_comment', '__return_null' ); + + $actual = get_comment_reply_link( $args ); + + $this->assertNull( $actual ); + } + }