Description
This plugin provides the option to add new statuses to the backend and define the system relevant status settings. You can add/edit statuses just as categories or tags. All statuses are available for all your post types.
You will find a new menu item located in the settings admin menu.
For the sake of understanding, this plugin minimally changes messages, translations and workflow in Gutenberg Editor!
Screenshots




Installation
- Upload to the
/wp-content/plugins/directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- Use the new menu item
Statusesin posts menu
FAQ
-
How does this plugin work?
-
As there is no core hook to add new items to the status dropdown in posts and in the quick edit view, js is required to achieve this. It is definently the most dirty way, but WP Core does not provide other ways to do it.
There is an open trac ticket fo this circumstance:
https://core.trac.wordpress.org/ticket/12706 -
What happens when I delete the plugin?
-
Since all custom statuses would no longer be available, deleting the plugin will reset all posts, pages etc. with an custom status to the draft status.
This step cannot be undone by reinstalling the plugin!
However, the plugin can be deactivated without any problems (see “What happens when I delete a status or deactivate the plugin?”). -
What happens when I delete a status or deactivate the plugin?
-
Be careful, posts without a valid status will be hidden! Just change the status of your post with a custom status to a system status (e.g. publish or draft) before you delete a custom status or deactivate the plugin.
Your posts will never be deleted, but you need to know your old status slugs once you have deleted a status or deactivated the plugin to get your posts back. -
The “Hide in admin drop downs” option only hides the status if the current post doesn’t have the status. As long as your post has the hidden status, the drop down will still show it.
-
To avoid misunderstandings in handling with own custom statuses, the button has been named more generally and is now just called Save.
Likewise, the message that a post has been published has been renamed. This now only indicates that a post has been saved. The indicator whether a post is published or not should always be the status and not a message or button label.
Furthermore, the publishing sidebar of Gutenberg has been removed.
Reviews
Contributors & Developers
“Extended Post Status” is open source software. The following people have contributed to this plugin.
Contributors“Extended Post Status” has been translated into 3 locales. Thank you to the translators for their contributions.
Translate “Extended Post Status” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.1
- [Changed] Maintenance release without functional changes, published to correct the 1.1.0 release package
1.1.0
- [Added] Support for WordPress 7.0, still compatible with WordPress 5.0 and above
- [Added] Custom statuses are shown with their name in the block editor sidebar again (WordPress 7.0 builds its own status control from a fixed list)
- [Fixed] Custom statuses were missing in quick edit and bulk edit, because the mutation events used to detect the inline editor were removed from current browsers
- [Fixed] Fatal error on PHP 8 when the settings of a status were missing
- [Fixed] Posts with a non public custom status showed up in front end archives, feeds and search results for every logged in editor, and could be exposed to visitors by a page cache
- [Fixed] Deleting the plugin did not reset posts whose status name differed from its slug
- [Fixed] Translations are no longer loaded before the init action
- [Fixed] Settings of a deleted status are removed instead of being kept forever
- [Security] Escape status names and slugs in all admin output
- [Security] Only store known status settings and verify capabilities when saving them
- [Security] Validate the submitted status and check the capability of the post type before applying it, including REST API requests
- [Changed] Performance: the translation filter no longer runs on the front end, the status list is cached per request, and the post overview no longer scans the whole posts table
1.0.21
- [Fixed] PHP incorrect calling of _load_textdomain_just_in_time
1.0.20
- [Security] Check user capabilities in publishing process. (Thanks to TaeEun Lee)
See: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/extended-post-status/extended-post-status-1019-missing-authorization-via-wp-insert-post-data
1.0.19
- [Fixed] Update handling of the javascript for disabling the publishing sidebar in Gutenberg
1.0.18
- [Added] The publish button in Gutenberg and Classic Editor no longer contains publish but only save to prevent confusion
- [Added] Remove the “two click” publishing sidebar in Gutenberg
- [Added] Override post published message and replace it with general post saved message in Gutenberg
1.0.17
- [Fixed] Status which were created by other plugins are no longer overwritten (Thanks to @ikancijan)
See: https://wordpress.org/support/topic/fix-for-custom-statuses-by-other-plugins/ - [Fixed] Add custom status meta box to gutenberg on all custom post types and not only for posts and pages
See: https://wordpress.org/support/topic/public-not-working-for-listings/ - [Fixed] Allow users with editing capabilities to see/preview posts with a non public status
See: https://wordpress.org/support/topic/permalinks-further-issue/
1.0.16
- [Fixed] If you delete the plugin, all posts, pages etc. with custom status will be reset to draft status.
1.0.15
- [Fixed] PHP undefined indexes
- [Fixed] Set default status to draft, if no status is selected.
1.0.14
- [Fixed] Respect future status
- [Fixed] Show planned (status future) posts in admin posts overview
1.0.13
- [Fixed] Trashing posts inside the posts editor is not possible
1.0.12
- [Fixed] PHP 7.4 access of non existing array object bug
1.0.11
- [Fixed] Enable bulk editing of custom statuses.
1.0.10
- [Added] Hide status in admin drop downs
- [Fixed] Selected custom statuses will auto select other custom statuses in admin drop downs.
1.0.9
- [Fixed] PHP error on accessing a non-object on admin menu page
1.0.8
- [Added] Settings submenu item “Extended Post Status”
- [Fixed] Quickedit custom status doesn’t show up
- [Fixed] Non public posts won’t show up in admin “All” list
- [Removed] Posts submenu item ‘Status’
1.0.7
- [Fixed] Label of settings doesn’t work
- [Fixed] PHP errors, wrong class declaration
1.0.6
- [Fixed] PHP errors, wrong class declaration
1.0.5
- [Fixed] New posts were saved as drafts instead of published
- [Fixed] Translation errors
1.0.4
- [Added] Settings section in “Settings > Wrtiting”
1.0.3
- [Added] Support for all post types
1.0.2
- [Added] Page and post count in status overview
- [Fixed] Bug that removes all status settings when quickediting a status
- [Fixed] Set slug length to max 20 chars because of posts status db field length
1.0.1
- [Added] Page status support
- [Fixed] Bug in displaying posts/pages in ‘all’ list
1.0.0
- [Added] Initial version
