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)
- When i save or publish a post setting reset wp
- Can’t publish custom type posts that don’t support title and editor, instead they’re saved as draft
- What is the difference between private and protected members of C++ classes?
- Does Python have “private” variables in classes?
- Clone A Private Repository (Github)
- What is the use of a private static variable in Java?
- Size has private access in ArrayList
- C++ classes (public, private, and protected)
- Is there any way to draft a revision of a published page or post? What workarounds have you used?
- How do I make a draft post accessible to everyone?
- Where to securely store API keys and passwords in WordPress?
- simple solution for restricting access to (some) uploads/downloads
- How to HIDE everything in PUBLISH metabox except Move to Trash & PUBLISH button
- add action only on post publish – not update
- How do I require authorization / login to view a specific set of posts / pages?
- How to prevent posts from being published too close to each other?
- Passing current cookies in wp_remote_get to get Draft Post Preview
- Hide permalink and preview button and link on custom post
- How do I remove unwanted pages like archive, search, etc.?
- Set posts of a custom post type to be private by default?
- Are transients private or public?
- How to get the clean permalink in a draft?
- Is it possible to Schedule Attachments in WordPress?
- InDesign to WordPress workflow
- Let private posts stay in status “private” after edit through “editors”
- Elegant way to include only published posts with get_objects_in_term()?
- How to call a REST endpoint when a post is published?
- wp_delete_auto_drafts() deletes links in menus
- Prevent publishing the post before setting a featured image?
- How can I make post fields required in WordPress?
- Is there a way to set a user profile to Draft?
- Fetching private posts or custom post types via WP-API with basic authentication
- Using a private method as an action callback from within a class
- WordPress plugin to publish to multiple remote WordPress blogs
- Post publish only hook?