Make WordPress Core

Opened 4 years ago

Last modified 2 months ago

#18264 new defect (bug)

Future private posts listed as already published with future date specified

Reported by: chrisrudzki Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Posts, Post Types Keywords: needs-patch ux-feedback ui-feedback editorial-flow
Focuses: ui, administration Cc:


Setting a post to private, and scheduling it for some future date or time, results in the stamp that the post was "Published on (future date)" in the publish module.

The discussion on tickets #5608 and #9136 suggests that all private posts are published immediately (and privately), and that this is intentional. So, it's misleading and confusing to report that it already was published on some future date.

In source:trunk/wp-admin/includes/meta-boxes.php#L163, I suggest we replace:

else if ( 'publish' == $post->post_status || 'private' == $post->post_status ) { // already published
		$stamp = __('Published on: <b>%1$s</b>'); }


else if ( 'publish' == $post->post_status ) { // already publicly published
		$stamp = __('Published on: <b>%1$s</b>');
	} else if (  'private' == $post->post_status ) { // published privately
		$stamp = __('Published privately'); }

Change History (12)

#1 @chrisrudzki
4 years ago

  • Keywords needs-patch added

#2 @nacin
4 years ago

  • Keywords ux-feedback ui-feedback added

Yeah, this is a UI issue. A post cannot be both future-scheduled and privately published.

#3 @jane
4 years ago

I think the whole concept of Privately Published is wrong, and we should re-evaluate it completely. The way that language is used on wordpress.com (private to the group of your choosing) makes a lot more sense. Saving content so it's viewable only to author/admin is more like a private save. If no one else can view it, it's not really published in the normal sense, right?

#4 @scribu
4 years ago

I just ran into this exact issue myself. Ideally, we would deprecate the "private" status altogether and leave it to plugins to implement "publish to group" or whatever else they need using taxonomies.

#5 @scribu
4 years ago

My quick fix for not showing future private posts on the front-end:

function fix_future_private( $sql, $wp_query ) {
	global $wpdb;

	$sql .= $wpdb->prepare( " AND $wpdb->posts.post_date <= %s", current_time('mysql') );

	return $sql;

if ( !is_admin() )
	add_filter( 'posts_where', 'fix_future_private', 10, 2 );
Last edited 4 years ago by scribu (previous) (diff)

#7 @kovshenin
3 years ago

  • Cc kovshenin added

#8 @danielbachhuber
3 years ago

  • Keywords editorial-flow added

#9 follow-up: @danielbachhuber
3 years ago

  • Cc danielbachhuber added

@kovshenin maybe we can assess this as a part of editorial flow user testing and make a decision what should be done. Personally, I think "Privately Published" is confusing but I don't know that deprecating it is the right answer.

It's also odd that the "View Page" link doesn't show:


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

@danielbachhuber I agree, though I don't think deprecating the post status is the way to go. I think it can live, but perhaps it should become like any other post status, and not a UI of its own. I also think that scheduling a transition from one post status to another should work, regardless what the two statuses are, so the new statuses API (as discussed) should be flexible enough to support this.

#11 @jeremyfelt
22 months ago

  • Component changed from Administration to Posts, Post Types
  • Focuses admin added

#12 @chriscct7
2 months ago

  • Focuses ui added
Note: See TracTickets for help on using tickets.