[wp-trac] [WordPress Trac] #7745: Private posts cannot have unpublished or pending review status

WordPress Trac noreply at wordpress.org
Mon Jul 29 02:34:00 UTC 2013

#7745: Private posts cannot have unpublished or pending review status
 Reporter:  nyoungman             |       Owner:
     Type:  enhancement           |      Status:  new
 Priority:  low                   |   Milestone:  Future Release
Component:  General               |     Version:  2.6.1
 Severity:  minor                 |  Resolution:
 Keywords:  needs-patch ui-focus  |

Comment (by sworddance):

 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

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

 Then try this:

 1. Create a post
 1. Click on Status edit button (so the status selection box is displayed)
 1. Click on Visibility Edit button
 1. Change Visibility to Private
 1. Click on Visibility 'OK' button
 1. Status option box changes to allow 'Pending Review', 'Draft',
 'Privately Published'
 1. Select 'Draft' and click on status 'OK' button.
 1. 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.
   1. Status is a workflow status that may impose a maximum
 1. 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.)
 1. Visibility and Status interact in a non-intuitive manner.


 1. Status should be used to determine the CURRENT maximum visibility of a
 1. 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> ) }}}

Ticket URL: <http://core.trac.wordpress.org/ticket/7745#comment:14>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software

More information about the wp-trac mailing list