Make WordPress Core

Opened 13 years ago

Last modified 3 years ago

#7745 new enhancement

Private posts cannot have unpublished or pending review status

Reported by: nyoungman Owned by:
Milestone: Future Release Priority: low
Severity: minor Version: 2.6.1
Component: Posts, Post Types Keywords: needs-patch
Focuses: ui Cc:


Posts with private ticked are immediately set to published, and cannot be reverted to unpublished or pending review while private is ticked. Given the default use of private posts, this behavior is understandable, but it seems far simpler if the behavior remained consistent with public posts.

In our particular case, we are using Role Manager to allow subscribers to read private posts. A simple solution that suits our particular needs well. But we really need the full draft/review process, just as with public posts.

Attachments (2)

publish-box-statuses.png (87.2 KB) - added by sillybean 9 years ago.
Publish box with private and password options merged into post status dropdown
publish-box-status-dropdowns.png (95.6 KB) - added by sillybean 9 years ago.
Publish box status dropdown with private and password options

Download all attachments as: .zip

Change History (23)

#1 @miahz
13 years ago

There needs to be some clarification in the UI wording and the functionality of post publish status vs. privacy status.

Some discussion here:

If i make a new post, check 'Keep this post private' with the Publish Status left as Unpublished, then click the Save button, why does the status become Published? I didn't click the Publish button.

To me, a draft/unpublished post is a different concept from a private post. I would think that i could have a private post saved as a draft. When i finished writing, i could publish it, but it would be visible in the front end only to me.

Otherwise, if the functionality remains as is, the 'keep private' option needs to be moved to the Publish Status dropdown menu, because truly it's a publish state. It doesn't make sense as a separate option.

#2 @janeforshort
13 years ago

  • Milestone changed from 2.8 to Future Release

Punting due to feature freeze. Reconsider with next release.

#3 @Denis-de-Bernardy
13 years ago

  • Component changed from Administration to UI
  • Keywords 2nd-opinion added
  • Owner anonymous deleted

Well, private means private. Whether it's published or not from your workflow's standpoint, it's private so it might as well be considered published (since it's private anyway).

The forum thread had me chewing on it a little bit, though. It goes down to UI indeed.

#4 @miahz
13 years ago

The 2.7 admin update addressed a lot of the issues with private vs published. Now Private is a visibility selection that removes the Draft status when clicked and is labeled with status "Privately Published". Also if you revert from Private to Public, the status goes back to Draft instead of directly to Published.

But, that all is still basically the old functionality just cleaned up and labeled a little better. There is still no Pending Review for private posts, as the original bug requested.

#5 @Denis-de-Bernardy
13 years ago

  • Keywords needs-patch added; 2nd-opinion removed

#6 @Denis-de-Bernardy
13 years ago

  • Priority changed from normal to low
  • Severity changed from normal to minor

#7 @Denis-de-Bernardy
13 years ago

  • Type changed from defect (bug) to enhancement

#8 @kovshenin
9 years ago

  • Cc kovshenin added

Wow, four years :) Is there an opinion on this for 3.6?

#9 follow-up: @danielbachhuber
9 years ago

'private' is a special status and draft is a protected status. A post can't have two statuses, even if that made sense. I'd say wontfix.

#10 in reply to: ↑ 9 ; follow-up: @rmccue
9 years ago

Replying to danielbachhuber:

'private' is a special status and draft is a protected status. A post can't have two statuses, even if that made sense. I'd say wontfix.

I disagree. I'd say that whether a post is private or not should be a flag independent of the status. This could cause problems with compatibility, so I could see a wontfix on those grounds, but I think fundamentally "private" isn't really a status.

#11 in reply to: ↑ 10 @kovshenin
9 years ago

Replying to rmccue: I feel like the post status (always was) and should be that flag and I think it worked well so far, except the UI which made it a little confusing because "private" seemed like it was not post status, but in fact a separate flag. That's a good reason to assume a pending post can be set to private.

A post can't have two statuses, I agree, but posts can have revisions with a different status which can help solve the "pending changes to a published post" as well as "pending changes to privately published post" scenarios.

#12 @sabreuse
9 years ago

  • Component changed from UI to General
  • Keywords ui-focus added

9 years ago

Publish box with private and password options merged into post status dropdown

9 years ago

Publish box status dropdown with private and password options

#13 @sillybean
9 years ago

Would it make more sense, given the way statuses actually work, to present them in a single dropdown? See attached screenshots.

#14 @sworddance
9 years ago

It seems the real problem is that there are 2 orthogonal issues at work that are not being treated orthogonally: Visibility and Status.

Currently ( 3.7-alpha24822 ) there are very bizarre interactions as a result.

  1. Create a post
  2. Change its Visibility to Private
  3. Status now changes to 'Privately Published'
  4. Status does not have an edit link any more

Then try this:

  1. Create a post
  2. Click on Status edit button (so the status selection box is displayed)
  3. Click on Visibility Edit button
  4. Change Visibility to Private
  5. Click on Visibility 'OK' button
  6. Status option box changes to allow 'Pending Review', 'Draft', 'Privately Published'
  7. Select 'Draft' and click on status 'OK' button.
  8. Status becomes 'Privately Published' ( not Draft like user requested ) and the edit button disappears.


  1. Visibility and Status are not logically the same :
    1. Visibility is the MAXIMUM POSSIBLE visibility.
    2. Status is a WORKFLOW STATE that may impose a maximum calculated_visibility
  2. If Visibility controls Status then Status should be visually subordinate to Visibility. Currently it looks like Status should control visibility. (which from a work flow perspective I would think that it would be the case.)
  3. Visibility and Status interact in a non-intuitive manner.


  1. Status should be used to determine the CURRENT maximum visibility of a post.
  2. Visibility determines the absolute maximum visibility of the post.

so conceptual the question is :

current_user_can('read_post', $post_id) ;

with the answer being determined by:

$actual_visibility = max ( status_max(), visibility_max(),
<some calculation depending on current_user's relationship to the post> )

Last edited 9 years ago by sworddance (previous) (diff)

#15 @sworddance
9 years ago

  • Cc sworddance added

#16 follow-up: @helen
9 years ago

Is this really about the UI or is this about #12706 / other edit flow type stuff?

#17 in reply to: ↑ 16 @sworddance
8 years ago

Replying to helen:

Is this really about the UI or is this about #12706 / other edit flow type stuff?

No idea - depends on how all inclusive the fix is too be for this issue

Last edited 8 years ago by sworddance (previous) (diff)

#18 @sworddance
8 years ago

I will cross-post the comment over to #12706

#19 @nacin
8 years ago

  • Component changed from General to Post Types

#20 @helloari
7 years ago

This "feature" really tripped me up recently. I thought something was very broken. One aspect that was very "unfriendly" was that I could see "publish" under "quick edit" when viewing all posts but that feature would not work since the post was privately published and therefore I could not edit it in quick edit.

#21 @lkraav
6 years ago

I'm also here because of the 4.3 Quick Edit panel not implementing the post status business logic constraints in a consistent way.

When "Private" checkbox is ticked, status options like "Pending Review" (+ possibly others) should not be available for selection. Currently, Quick Edit UI shows no errors, but post status change from "Published" to "Pending Review" gets silently ignored. User must know to manually uncheck "Private", too.

Note: See TracTickets for help on using tickets.