I would probably create a custom field / check box for this for a draft stage. Then hook into post status transition (or around) and when post is published force it to only private, even if normal publish was pressed.
From personal experience custom post statuses are a wreck. They seem like a good idea, but they just introduce mountain more of access and visibility problems since core code never cared much for any non–default status.
Related Posts:
- I can’t preview post’s change once they are published
- How to unpublish a page and still keep a draft?
- What differences are there between a Privately Published post and a Draft post?
- I need to modify drafts using custom data from database and then publish it
- How to show or hide a post based on meta_value selection?
- Visual Studio SignTool.exe Not Found
- How can I delay the publishing of a page or post?
- How can I make it so the Add New Post page has Visibility set to Private by default?
- How can I set a draft page as parent without publishing?
- Display a post’s publish date from 2112
- Does blocking xmlrpc.php affect pinging update services like pingomatic
- Exclude Private, Draft pages from Primary Nav when using custom menu
- Publish post when edit post form submitted with enter/return pressed on keyboard
- How to make scheduled post preview visible to anyone?
- Scheduled Posts and wp-cron – Why don’t scheduled posts publish if too old?
- Why does publish_{custom-post-type} fire on update?
- Show recent published posts
- Does WordPress remove draft status automatically?
- Is there a way to know if a post has been published through XML-RPC?
- get_terms on save_post hook
- Save and Publish button not working after installing SSL
- Can I set a timer for pages to be published?
- Disable “preview changes” button
- How to allow a user to make their post (ad) a draft, and then publish again without needing approval?
- WordPress Comments are automatically publishing
- save imported posts as drafts
- Update post meta on bulk edit / update
- Can’t schedule post for another time
- How to get the Tags on Publish post hook?
- publish_post called too early
- Custom save button shows ‘Are you sure you want to…’ dialog
- wp_publish_post to saved draft, permalinks broken
- Get publish post link?
- Controlled publishing in WordPress
- redirect deleted / drafted pages
- Change the text of the publish button to Save
- problem with publish date not always appearing [duplicate]
- What is happening to make my Update/Publish button disabled?
- What is the reason for the new_to_publish hook not working?
- After I publish a post where does it go
- Should you manually ping new WordPress posts?
- Authors should not publish
- How to add custom status to quick edit
- i am making text changes on my page show in preview not on live site, why? [closed]
- Is WordPress “publish” atomic?
- How to move post process to background
- Set page to draft on plugin deactivation
- How does redirect work when publish date changes and date in url changes?
- How to set a Post’s default visibility to ‘Private’ in Gutenberg?
- Hook when post is set from published to draft?
- My posts are getting to Auto draft when I try to Publish
- Gutenberg publish date datepicker
- How Google Indexer should only index published pages
- Publish and go to page [duplicate]
- Publish Post Action Not Working
- Is it normal for a scheduled post to say “Missed Schedule”
- Manage multiple wordpress installs (Best Practice)
- Showing the next post’s title, even if it’s an unpublished post
- Force Publish Future (Scheduled) Posts Immediately [duplicate]
- Can’t publish posts, Jetpack won’t connect, empty notification emails to my inbox [closed]
- Return All Post from publish to draft [duplicate]
- Duplicate post on publish
- How is it possible to use a very reduced version of WordPress?
- Problems in updating a self-developed plugin
- when I Try to Create new Post or Page it goes Draft(I can’t post Anything)
- C++ classes (public, private, and protected)
- How to HIDE everything in PUBLISH metabox except Move to Trash & PUBLISH button
- How do I remove unwanted pages like archive, search, etc.?
- Is there a way to set a user profile to Draft?
- Customize users’ capabilities to change a custom post’s post status
- How to make draft posts or posts in review accessible via full url / slug?
- Access post meta just after publishing
- Hiding by default specific post status on backend list?
- Detect Post Type when publish_post is ran
- Making a Custom Post type only visible to non-users via a specific link
- Customized role that allows users to “Submit for Review” instead of “Publish”
- How can I schedule a PAGE to go live at a future date/time?
- Trigger email send after custom post publish
- How to modify Publish metabox?
- How to show private flickr group on a WordPress site?
- How to control who can view certain pages in BuddyPress? [closed]
- How to make comments private for commentor and post author
- How do I redirect a permalink for a Draft post to a custom 404 page?
- 404.php only works if I’m logged in. Everybody else redirects to wp-login.php – why?
- wp_insert_post Only creates draft
- Have custom post type Visibility be private by default, and have radio button also set to “Private”
- Displaying number of drafts in Posts section of admin sidebar [closed]
- How to hide a page in wordpress made for menu
- Check the stored / cached WP_Query with transients on post change
- How to remove private posts from RSS feeds?
- Modify Publish Metabox location on CPT
- How to add published date in product [closed]
- Publish post and create additional posts with same content
- How to check if the user was redirected?
- Adding a Custom ‘Now’ button under ‘Published on’ header to return current date and time
- Tracing dashboard publish settings from input form in WordPress
- WordPressMu network with private sites
- Create media folder upon post publish?
- What is the best way to achieve unique Member functionality?
- Bulk post approval and publishing doesn’t work