WordPress.org

Make WordPress Core

Opened 2 years ago

Last modified 7 hours ago

#48358 reviewing defect (bug)

wp_get_post_parent_id() does not default to global $post

Reported by: danielpost Owned by: SergeyBiryukov
Milestone: 5.9 Priority: normal
Severity: normal Version: 3.1
Component: Posts, Post Types Keywords: has-patch has-unit-tests needs-dev-note
Focuses: Cc:

Description

https://core.trac.wordpress.org/browser/tags/5.2.4/src/wp-includes/post.php#L6595

Because wp_get_post_parent_id() does not declare a default value for the $post parameter, calling it without explicitly passing the $post parameter results in an error. This means that it will never default to the global $post. I believe the fix here is to declare $post = null in the function declaration and specify in the PHPDoc that this parameter is optional, similar to how other functions handle this.

Attachments (3)

48358.diff (728 bytes) - added by danielpost 2 years ago.
48358.1.diff (1.6 KB) - added by danielpost 2 years ago.
Adds test
48358.2.diff (1.6 KB) - added by audrasjb 7 hours ago.
Posts, Post Types: Default wp_get_post_parent_id() to global $post

Download all attachments as: .zip

Change History (15)

@danielpost
2 years ago

#1 @danielpost
2 years ago

  • Version changed from 5.2.3 to 3.1

#2 @davidbaumwald
2 years ago

  • Keywords has-patch needs-unit-tests added

#3 @SergeyBiryukov
2 years ago

  • Milestone changed from Awaiting Review to 5.4
  • Owner set to SergeyBiryukov
  • Status changed from new to reviewing

@danielpost
2 years ago

Adds test

#4 @danielpost
2 years ago

  • Keywords has-unit-tests added; needs-unit-tests removed

#5 @davidbaumwald
2 years ago

  • Keywords needs-dev-note added

This doesn't need a full dev-note, but it should get a small call-out in the miscellaneous changes note in 5.4.

#6 @birgire
2 years ago

The test in 48358.1.diff might need the annotation @ticket 48358. I also wonder if the function's doc would need the @since annotation after the signature change.

#7 @danielpost
2 years ago

I'm happy to make those changes if the consensus is that they're necessary—I don't have enough experience with core contributing to make that call myself.

#8 @davidbaumwald
19 months ago

  • Milestone changed from 5.4 to Future Release

With 5.4 Beta 3 approaching and the Beta period reserved for bugs introduced during the cycle, this is being moved to Future Release. If any maintainer or committer feels this should be included or wishes to assume ownership during a specific cycle, feel free to update the milestone accordingly.

This ticket was mentioned in Slack in #core by danielpost. View the logs.


3 months ago

#10 @SergeyBiryukov
3 months ago

  • Milestone changed from Future Release to 5.9

#11 @audrasjb
7 hours ago

  • Keywords needs-refresh added

The patch doesn't apply against trunk anymore.

@audrasjb
7 hours ago

Posts, Post Types: Default wp_get_post_parent_id() to global $post

#12 @audrasjb
7 hours ago

  • Keywords needs-refresh removed

Refreshed in 48358.2.diff. I also added the ticket number in the provided tests.

Note: See TracTickets for help on using tickets.