{"id":10395,"date":"2010-09-01T16:47:10","date_gmt":"2010-09-01T16:47:10","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/quick-drafts-access\/"},"modified":"2025-04-14T21:19:18","modified_gmt":"2025-04-14T21:19:18","slug":"quick-drafts-access","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/quick-drafts-access\/","author":3606,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.4","stable_tag":"2.4","tested":"6.8.5","requires":"4.6","requires_php":"","requires_plugins":null,"header_name":"Quick Drafts Access","header_author":"Scott Reilly","header_description":"","assets_banners_color":"515151","last_updated":"2025-04-14 21:19:18","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_s-xclick&hosted_button_id=6ARCFJ9TX3522","header_plugin_uri":"https:\/\/coffee2code.com\/wp-plugins\/quick-drafts-access\/","header_author_uri":"https:\/\/coffee2code.com\/","rating":5,"author_block_rating":0,"active_installs":400,"downloads":20109,"num_ratings":7,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"coffee2code","date":"2010-09-01 16:47:10"},"1.0.1":{"tag":"1.0.1","author":"coffee2code","date":"2011-02-12 20:16:38"},"1.0.2":{"tag":"1.0.2","author":"coffee2code","date":"2011-02-24 22:04:23"},"1.1":{"tag":"1.1","author":"coffee2code","date":"2011-07-10 02:11:34"},"1.1.1":{"tag":"1.1.1","author":"coffee2code","date":"2011-11-21 04:37:22"},"1.1.2":{"tag":"1.1.2","author":"coffee2code","date":"2012-06-04 17:58:17"},"1.1.3":{"tag":"1.1.3","author":"coffee2code","date":"2012-12-16 08:45:34"},"1.1.4":{"tag":"1.1.4","author":"coffee2code","date":"2013-12-20 07:43:08"},"2.0":{"tag":"2.0","author":"coffee2code","date":"2015-02-25 05:43:50"},"2.0.1":{"tag":"2.0.1","author":"coffee2code","date":"2015-09-05 05:56:55"},"2.0.2":{"tag":"2.0.2","author":"coffee2code","date":"2016-04-13 22:53:22"},"2.1":{"tag":"2.1","author":"coffee2code","date":"2017-02-08 05:51:53"},"2.1.1":{"tag":"2.1.1","author":"coffee2code","date":"2018-06-08 08:35:28"},"2.2":{"tag":"2.2","author":"coffee2code","date":"2019-03-04 18:59:52"},"2.2.1":{"tag":"2.2.1","author":"coffee2code","date":"2019-06-24 21:06:15"},"2.2.2":{"tag":"2.2.2","author":"coffee2code","date":"2019-12-16 06:50:43"},"2.2.3":{"tag":"2.2.3","author":"coffee2code","date":"2020-07-13 08:31:57"},"2.2.4":{"tag":"2.2.4","author":"coffee2code","date":"2021-03-28 07:34:06"},"2.3":{"tag":"2.3","author":"coffee2code","date":"2021-09-30 06:22:15"},"2.3.1":{"tag":"2.3.1","author":"coffee2code","date":"2023-08-22 18:14:25"},"2.4":{"tag":"2.4","author":"coffee2code","date":"2025-04-14 21:19:18"}},"upgrade_notice":{"2.4":"<p>Minor update: prevented translations from containing unintended markup, added caching, noted compatibility through WP 6.6+ and PHP 8.3+, improved unit testing while also removing unit tests from release packaging, and updated copyright date (2024)<\/p>","2.3.1":"<p>Trivial update: noted compatibility through WP 6.3+ and updated copyright date (2023)<\/p>","2.3":"<p>Minor update: refined default support to be only for public post types, added DEVELOPER-DOCS.md, noted compatibility through WP 5.8+, and minor reorganization and tweaks to unit tests<\/p>","2.2.4":"<p>Trivial update: noted compatibility through WP 5.7+ and updated copyright date (2021)<\/p>","2.2.3":"<p>Minor update: Fixed post type support check to prevent display of dropdown for unsupported post types, added TODO.md file, updated a few URLs to be HTTPS, tweaked formatting of output markup, and noted compatibility through WP 5.4+.<\/p>","2.2.2":"<p>Trivial update: noted compatibility through WP 5.3+ and updated copyright date (2020)<\/p>","2.2.1":"<p>Trivial update: modernized unit tests, added screenshot for draft author filter dropdown, and noted compatibility through WP 5.2+<\/p>","2.2":"<p>Minor update: added dropdown to filter listing of drafts by author, noted compatibility through WP 5.1+, updated copyright date (2019), and more.<\/p>","2.1.1":"<p>Trivial update: ensured filtered values are booleans, added README.md, noted compatibility through WP 4.9+, and updated copyright date (2018)<\/p>","2.1":"<p>Minor update: noted compatibility through WP 4.7+, dropped compatibility with versions of WP older than 4.6, and updated copyright date<\/p>","2.0.2":"<p>Trivial update: adjustments to utilize language packs, minor unit test tweaks, noted compatibility through WP 4.4+, and updated copyright date<\/p>","2.0.1":"<p>Minor update: minor security hardening; actually load textdomain; noted compatibility through WP 4.3+<\/p>","2.0":"<p>Substantial update: now there is the potential for &#039;All Drafts&#039; and\/or &#039;My Drafts&#039; menu links; added localization support; noted compatibility through WP 4.1+; more<\/p>","1.1.4":"<p>Trivial update: noted compatibility through WP 3.8+<\/p>","1.1.3":"<p>Trivial update: noted compatibility through WP 3.5+<\/p>","1.1.2":"<p>Trivial update: noted compatibility through WP 3.4+; explicitly stated license<\/p>","1.1.1":"<p>Trivial update: noted compatibility through WP 3.3+; updated screenshots<\/p>","1.1":"<p>Moderate update: noted compatibility through WP 3.2+; dropped support for versions of WP older than 3.1; improved internationalization support<\/p>","1.0.2":"<p>Trivial update: add link to plugin homepage to description in readme.txt<\/p>","1.0.1":"<p>Trivial update: noted compatibility with WP 3.1+ and updated copyright date.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":"7"},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1098932,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":1098932,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.1","1.0.2","1.1","1.1.1","1.1.2","1.1.3","1.1.4","2.0","2.0.1","2.0.2","2.1","2.1.1","2.2","2.2.1","2.2.2","2.2.3","2.2.4","2.3","2.3.1","2.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":1098932,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2111730,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"A screenshot of the main admin menu (with the menu expanded) showing the \"All Drafts\" and \"My Drafts\" link (with pending draft counts) for both posts (in the sidebar menu popup) and pages (in the expanded sidebar menu). Note that for pages, the \"All Drafts\" link is not shown because the current user is responsible for all of the current page drafts.","2":"When viewing a listing of drafts, the plugin introduces a dropdown above the posts table that allows filtering the drafts by post author."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[83,4665,2871,1865,2866],"plugin_category":[43],"plugin_contributors":[78189],"plugin_business_model":[],"class_list":["post-10395","plugin","type-plugin","status-publish","hentry","plugin_tags-admin","plugin_tags-draft","plugin_tags-drafts","plugin_tags-menu","plugin_tags-shortcut","plugin_category-customization","plugin_contributors-coffee2code","plugin_committers-coffee2code"],"banners":{"banner":"https:\/\/ps.w.org\/quick-drafts-access\/assets\/banner-772x250.png?rev=1098932","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/quick-drafts-access\/assets\/icon-128x128.png?rev=1098932","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/quick-drafts-access\/assets\/screenshot-1.png?rev=1098932","caption":"A screenshot of the main admin menu (with the menu expanded) showing the \"All Drafts\" and \"My Drafts\" link (with pending draft counts) for both posts (in the sidebar menu popup) and pages (in the expanded sidebar menu). Note that for pages, the \"All Drafts\" link is not shown because the current user is responsible for all of the current page drafts."},{"src":"https:\/\/ps.w.org\/quick-drafts-access\/assets\/screenshot-2.png?rev=2111730","caption":"When viewing a listing of drafts, the plugin introduces a dropdown above the posts table that allows filtering the drafts by post author."}],"raw_content":"<!--section=description-->\n<p>By default in WordPress, accessing the drafts listing of any given post type (including posts and pages) in the admin requires multiple clicks. Then filtering the drafts listing by a particular user (generally to view only your drafts) additionally requires some non-obvious manual URL hacking.<\/p>\n\n<p>This plugin allows you one click access to all drafts, as well as to just your drafts, of each post type via the main admin menu.<\/p>\n\n<p>In addition, the plugin provides a count of the number of current drafts for that post type in the link (i.e. the link could read \"All Drafts (3)\" to indicate there are three drafts for that post type, and \"My Drafts (1)\" to indicate you only have one draft for that post type).<\/p>\n\n<p>When the user is responsible for all of the drafts of a given post type (and the \"My Drafts\" link is not disabled via a hook) then only the \"My Drafts\" links will appear. It would be redundant to show both the \"All Drafts\" and \"My Drafts\" links in this situation. This behavior also ensures only one link is present for single-author blogs.<\/p>\n\n<p>Also, the draft link(s) only appear for users who have the capability to edit posts of that post type.<\/p>\n\n<p>The plugin hides the two types of draft links when no related drafts for that post type are present. See the Filters section for how to override this behavior. Filters are also provided to disable the plugin from ever showing the \"All Drafts\" or the \"My Drafts\" links.<\/p>\n\n<p>On admin listings of only draft posts, this plugin also adds a dropdown above the table that allows for the listing to be filtered by the selected draft author. (Only users who actually have a draft post are included in the dropdown.)<\/p>\n\n<p>Links: <a href=\"https:\/\/coffee2code.com\/wp-plugins\/quick-drafts-access\/\">Plugin Homepage<\/a> | <a href=\"https:\/\/wordpress.org\/plugins\/quick-drafts-access\/\">Plugin Directory Page<\/a> | <a href=\"https:\/\/github.com\/coffee2code\/quick-drafts-access\/\">GitHub<\/a> | <a href=\"https:\/\/coffee2code.com\">Author Homepage<\/a><\/p>\n\n<h3>Developer Documentation<\/h3>\n\n<p>Developer documentation can be found in <a href=\"https:\/\/github.com\/coffee2code\/quick-drafts-access\/blob\/master\/DEVELOPER-DOCS.md\">DEVELOPER-DOCS.md<\/a>. That documentation covers the numerous hooks provided by the plugin. Those hooks are listed below to provide an overview of what's available.<\/p>\n\n<ul>\n<li><code>c2c_quick_drafts_access_post_types<\/code> : Customize the list of post_types for which the draft links will be shown<\/li>\n<li><code>c2c_quick_drafts_access_show_all_drafts_menu_link<\/code> : Customize whether the 'All Drafts' link will appear at all for a post type.<\/li>\n<li><code>c2c_quick_drafts_access_show_my_drafts_menu_link<\/code> : Customize whether the 'My Drafts' link will appear at all for a post type.<\/li>\n<li><code>c2c_quick_drafts_access_show_if_empty<\/code> : Customize whether the 'All Drafts' and\/or 'My Drafts' links will appear for a post type <em>when that post type currently has no drafts<\/em>.<\/li>\n<li><code>c2c_quick_drafts_access_disable_filter_dropdown<\/code> : removal of the 'Drafts By' dropdown from drafts post list table.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install via the built-in WordPress plugin installer. Or download and unzip <code>quick-drafts-access.zip<\/code> inside the plugins directory for your site (typically <code>wp-content\/plugins\/<\/code>)<\/li>\n<li>Activate the plugin through the 'Plugins' admin menu in WordPress<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='why%20don%27t%20i%20see%20an%20%22all%20drafts%22%20or%20%22my%20drafts%22%20link%20in%20my%20menu%20after%20activating%20the%20plugin%3F'><h3>Why don't I see an \"All Drafts\" or \"My Drafts\" link in my menu after activating the plugin?<\/h3><\/dt>\n<dd><p>Does that post type have any drafts?  By default, the plugin does NOT display the drafts links if no drafts are present for that post type. This behavior can be overridden (see the Filters section).<\/p>\n\n<p>The \"All Drafts\" link is always hidden for users who are responsible for all drafts of a given post type, assuming the \"My Drafts\" link is configured to be displayed (which it is by default).<\/p><\/dd>\n<dt id='why%20don%27t%20you%20show%20the%20%22all%20drafts%22%20and%20%22my%20drafts%22%20links%20for%20post%20types%20that%20don%27t%20have%20any%20drafts%3F'><h3>Why don't you show the \"All Drafts\" and \"My Drafts\" links for post types that don't have any drafts?<\/h3><\/dt>\n<dd><p>Like the Posts and Pages admin tables in WordPress, the default behavior of the plugin is to not show the drafts link if none are present for the post type since there isn't anything meaningful to link to. Bear in mind that the behavior can be overridden (see the Filters section).<\/p><\/dd>\n<dt id='for%20my%20single%20author%20site%2C%20isn%27t%20it%20redundant%20to%20display%20both%20the%20%22all%20drafts%22%20and%20%22my%20drafts%22%20links%20since%20they%20are%20effectively%20identical%3F'><h3>For my single author site, isn't it redundant to display both the \"All Drafts\" and \"My Drafts\" links since they are effectively identical?<\/h3><\/dt>\n<dd><p>Yes, which is why the plugin hides the \"All Drafts\" link when the \"My Drafts\" link is configured to be displayed (which it is by default) and the user is responsible for all of the drafts for a given post type.<\/p><\/dd>\n<dt id='does%20this%20plugin%20include%20unit%20tests%3F'><h3>Does this plugin include unit tests?<\/h3><\/dt>\n<dd><p>Yes. The tests are not packaged in the release .zip file or included in plugins.svn.wordpress.org, but can be found in the <a href=\"https:\/\/github.com\/coffee2code\/quick-drafts-access\/\">plugin's GitHub repository<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.4 (2025-03-08)<\/h4>\n\n<p>Highlights:<\/p>\n\n<p>This minor release prevents translations from containing unintended markup, adds caching, notes compatibility through WP 6.8+ and PHP 8.3+, improves unit testing while also removing unit tests from release packaging, and updates copyright date (2025).<\/p>\n\n<p>Details:<\/p>\n\n<ul>\n<li>New: Cache results of query for draft authors<\/li>\n<li>New: Extract logic for getting draft author IDs into new <code>get_draft_post_authors()<\/code><\/li>\n<li>Change: Prevent translations from containing unintended markup<\/li>\n<li>Change: Discontinue explicit and unnecessary loading of textdomain<\/li>\n<li>Change: Note compatibility through WP 6.8+<\/li>\n<li>Change: Note compatibility through PHP 8.3+<\/li>\n<li>Change: Update copyright date (2025)<\/li>\n<li>Change: Add missing inline comments for translators<\/li>\n<li>Change: Remove development and testing-related files from release packaging<\/li>\n<li>Change: Reduce number of 'Tags' from <code>readme.txt<\/code><\/li>\n<li>Change: Prevent unwarranted PHPCS complaints<\/li>\n<li>New: Add <code>.gitignore<\/code> file<\/li>\n<li>Unit tests:\n\n<ul>\n<li>Allow tests to run against current versions of WordPress<\/li>\n<li>New: Add <code>composer.json<\/code> for PHPUnit Polyfill dependency<\/li>\n<li>Change: Explicitly define return type for overridden method<\/li>\n<li>Hardening: Prevent direct web access to <code>bootstrap.php<\/code><\/li>\n<li>Change: In bootstrap, store path to plugin directory in a constant<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>2.3.1 (2023-04-29)<\/h4>\n\n<ul>\n<li>Change: Note compatibility through WP 6.3+<\/li>\n<li>Change: Update copyright date (2023)<\/li>\n<li>Fix: Fix typo for link to DEVELOPER-DOCS.md in README.md<\/li>\n<li>Fix: Fix typo in readme.txt<\/li>\n<li>New: Add a possible TODO item<\/li>\n<\/ul>\n\n<h4>2.3 (2021-09-22)<\/h4>\n\n<ul>\n<li>New: Add DEVELOPER-DOCS.md and move hooks documentation into it<\/li>\n<li>Change: Only support public post types, but also exclude 'attachment'<\/li>\n<li>Change: Improve and tweak developer documentation and code examples<\/li>\n<li>Change: Note compatibility through WP 5.8+<\/li>\n<li>Unit tests:\n\n<ul>\n<li>New: Add <code>setUp()<\/code>, namely to actually register post types<\/li>\n<li>Change: Test support for actual post types<\/li>\n<li>Change: Change <code>c2c_quick_drafts_access_post_types()<\/code> to actual use the post types sent to it<\/li>\n<li>Change: Restructure unit test directories\n\n<ul>\n<li>Change: Move <code>bin\/<\/code> into <code>tests\/<\/code><\/li>\n<li>Change: Move <code>tests\/<\/code> into <code>tests\/phpunit\/<\/code><\/li>\n<li>Change: Move unit test file into <code>tests\/phpunit\/tests\/<\/code><\/li>\n<\/ul><\/li>\n<li>Change: Remove 'test-' prefix from unit test file<\/li>\n<li>Change: Rename <code>phpunit.xml<\/code> to <code>phpunit.xml.dist<\/code> per best practices<\/li>\n<li>Change: In bootstrap, store path to plugin file constant<\/li>\n<li>Change: In bootstrap, add backcompat for PHPUnit pre-v6.0<\/li>\n<\/ul><\/li>\n<li>New: Add a possible TODO item<\/li>\n<\/ul>\n\n<p><em>Full changelog is available in <a href=\"https:\/\/github.com\/coffee2code\/quick-drafts-access\/blob\/master\/CHANGELOG.md\">CHANGELOG.md<\/a>.<\/em><\/p>","raw_excerpt":"Adds links to &#039;All Drafts&#039; and &#039;My Drafts&#039; under Posts, Pages, and other custom post type sections in the admin menu.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/10395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/users\/3606"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=10395"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=10395"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=10395"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=10395"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=10395"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=10395"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=10395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}