Make WordPress Core

Opened 20 months ago

Last modified 4 months ago

#44737 reviewing defect (bug)

WP_Query: in searches post_status should consider exclude_from_search

Reported by: felipeelia Owned by: SergeyBiryukov
Milestone: Future Release Priority: normal
Severity: normal Version:
Component: Query Keywords: has-patch has-unit-tests needs-dev-note
Focuses: Cc:


When post_status is empty and we are running a search, this code is executed (wp-includes/class-wp-query.php:2446):

// Add public states.
$public_states = get_post_stati( array( 'public' => true ) );
foreach ( (array) $public_states as $state ) {
        if ( 'publish' == $state ) { // Publish is hard-coded above.
        $where .= " OR {$wpdb->posts}.post_status = '$state'";

That way the exclude_from_search parameter isn't considered.

Attachments (3)

44737.diff (1.1 KB) - added by felipeelia 20 months ago.
44737-test.diff (1.2 KB) - added by casepress 20 months ago.
44737-test.2.diff (1.1 KB) - added by casepress 20 months ago.
update test

Download all attachments as: .zip

Change History (12)

20 months ago

#1 @soulseekah
20 months ago

  • Keywords needs-unit-tests added

#2 @casepress
20 months ago

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

20 months ago

update test

#3 @SergeyBiryukov
12 months ago

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

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

7 months ago

#5 @davidbaumwald
7 months ago

  • Keywords needs-dev-note added

This ticket was discussed during 5.3 Bug Scrub 1. Since this possibly alters search results, this should be communicated with a dev note.

Last edited 7 months ago by davidbaumwald (previous) (diff)

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

6 months ago

#7 @davidbaumwald
6 months ago

@SergeyBiryukov How do you feel about this one landing in 5.3? Is there anything esle you need to make that happen?

#8 @davidbaumwald
6 months ago

  • Milestone changed from 5.3 to Future Release

With 5.3 RC1 releasing today, this ticket is being moved to Future Release. If any committer feels this can be worked in quickly for 5.3 or can assume ownership in 5.4, feel free to move it back up.

Note: See TracTickets for help on using tickets.