Opened 20 months ago
Last modified 19 months ago
#57615 new defect (bug)
Various comment functions reporting error when `get_comment()` returns `null`
Reported by: | thomasplevy | Owned by: | |
---|---|---|---|
Milestone: | Awaiting Review | Priority: | normal |
Severity: | minor | Version: | |
Component: | Comments | Keywords: | has-patch has-unit-tests |
Focuses: | Cc: |
Description
While working on #53290 I noticed that if the function get_comment_author_link()
is called with no value passed into it or if an invalid comment ID is passed into the function an error is thrown on the return filter:
Trying to get property 'comment_ID' of non-object wp-includes/comment-template.php:242
While gathering information to report this I also noticed several other functions in the same file, wp-includes/comment-template.php
will suffer from the same or a similar issue:
+ comment_author()
+ get_comment_author_email()
+ comment_author_email()
+ get_comment_author_IP()
+ comment_author_url()
+ get_comment_excerpt()
+ comment_excerpt()
+ get_comment_type()
Some of the functions in this file, get_comment_author()
for example, store the comment ID as a variable and pass that into the return filter:
$comment_ID = ! empty( $comment->comment_ID ) ? $comment->comment_ID : $comment_ID;
I'm currently working on writing tests since most of the functions I'm mentioned don't have existing test coverage.
I'm also uploading a patch with my proposed solution. If this seems like the right direction to go I'll add changes to the remaining functions and update the patch (and tests).
Attachments (1)
Change History (5)
This ticket was mentioned in PR #3980 on WordPress/wordpress-develop by thomasplevy.
20 months ago
#2
- Keywords has-patch has-unit-tests added
Trac ticket: https://core.trac.wordpress.org/ticket/57615
Updated the functions I mentioned in the trac ticket and wrote / updated unit tests for related code.
thomasplevy commented on PR #3980:
20 months ago
#3
I swore that I read a while back the the null coalesce operator was now allowed by the WP coding standards now but in rereading I was incorrect, it said the null coalesce *will be allowed* when the PHP minimum is raised to 7.0. I'll update shortly.
Hi there, welcome back to WordPress Trac! Thanks for the ticket.
Just linking to some related tickets here: #40143, #54149.