wordpress-develop/tests
Tonya Mork 3442f776f3 Comments: Fix PHP Notice "trying to get property of non-object" in comments_open() and pings_open().
The post for the comments or pings is retrieved by `get_post()`. If the post exists, `get_post()` returns an instance of `WP_Post`; else, it returns `null`.

In both `comments_open()` and `pings_open()`, the returned value from `get_post()` is used without checking if the object returned, if the post exists. When the post does not exist, the following notices occur:

{{{
PHP Notice:  Trying to get property 'comment_status' of non-object in .../src/wp-includes/comment-template.php on line 1244
}}}

and

{{{
PHP Notice:  Trying to get property 'pings_open' of non-object in ../src/wp-includes/comment-template.php on line 1274
}}}

This commit fixes these notices by checking if the post has a non-falsey value before using it as an object to set the `$open` state. As the return from `get_post()` will only be an object or `null`, the truthy check is appropriate and slightly more performant.

Tests added to validate the fix.

Follow-up to [1964], [40666].

Props dd32, audrasjb, costdev, hellofromTonya, sergeybiryukov.
Fixes #54159.

git-svn-id: https://develop.svn.wordpress.org/trunk@52223 602fd350-edb4-49c9-b593-d223f7449a82
2021-11-19 20:22:43 +00:00
..
e2e Build/Test Tools: Make adjustments to how Quick Draft tests confirm expected behavior. 2021-11-10 01:49:01 +00:00
gutenberg Block Editor: Update the Gutenberg branch used to launch Gutenberg e2e tests. 2021-06-01 09:21:36 +00:00
phpunit Comments: Fix PHP Notice "trying to get property of non-object" in comments_open() and pings_open(). 2021-11-19 20:22:43 +00:00
qunit REST API: Make the templates controller follow core REST patterns. 2021-11-16 18:04:49 +00:00
visual-regression Build/Test Tools: Introduce local visual regression testing. 2021-11-02 21:03:10 +00:00