WordPress.org

Make WordPress Core

Opened 7 years ago

Closed 7 years ago

#3827 closed defect (bug) (fixed)

private posts are not appearing on main page for users with read_private_posts

Reported by: molecularbear Owned by:
Milestone: 2.1.3 Priority: normal
Severity: normal Version: 2.1.2
Component: General Keywords: has-patch commit
Focuses: Cc:

Description

I created a new role that is identical to the Author role except that it included the "read_private_posts" and "read_private_pages" capabilities. I expected that people who were assigned the new role would then be able to view all private posts. What happened was that the new role could view private posts via direct link (i.e., permalink), but the private entries would not appear on the main page.

I tracked the issue down to get_posts() in wp-includes/query.php. Basically, there is some code there that will get the private posts if the user has "edit_private_posts". I changed this to "read_private_posts" and seem to have gained the functionality that I was looking for; I also changed "edit_private_posts" to "read_private_posts" for good measure. I have attached a patch that describes this. Is there a reason why these are "edit_" capabilities instead of "read_"?

Attachments (1)

query.patch (405 bytes) - added by molecularbear 7 years ago.
patch to query.php

Download all attachments as: .zip

Change History (10)

molecularbear7 years ago

patch to query.php

comment:1 molecularbear7 years ago

  • Milestone changed from 2.3 to 2.1.2
  • Version changed from 2.1 to 2.2

Changing to Milestone 2.2 since that seems to be where the action is.

comment:2 molecularbear7 years ago

  • Version changed from 2.2 to 2.1

Err, fixing the Version.

comment:3 molecularbear7 years ago

Note that the second-to-last sentence in the description should read:

I changed this to "read_private_posts" and seem to have gained the functionality that I was looking for; I also changed "edit_private_pages" to "read_private_pages" for good measure.

There, I think I've finally debugged my bug report.

comment:4 molecularbear7 years ago

  • Version changed from 2.1 to 2.1.1

This is still an issue in 2.1.1 and the same patch still applies.

comment:5 Nazgul7 years ago

  • Keywords has-patch commit added; read_private_posts removed

comment:6 markjaquith7 years ago

  • Resolution set to fixed
  • Status changed from new to closed

(In [4940]) Use correct capabilities checks when determining whether to show private posts. Props molecularbear. fixes #3827

comment:7 molecularbear7 years ago

  • Milestone changed from 2.1.2 to 2.1.3
  • Resolution fixed deleted
  • Status changed from closed to reopened
  • Version changed from 2.1.1 to 2.1.2

This was marked to be included in 2.1.2, but the change does not appear to be in the latest source. Reopening in the hopes that the patch will make it into 2.1.3.

comment:8 Nazgul7 years ago

This was indeed only comitted to trunk.

comment:9 ryan7 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed

(In [4971]) Use correct capabilities checks when determining whether to show private posts. Props molecularbear. fixes #3827

Note: See TracTickets for help on using tickets.