Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Stealth Publish

Prevent specified posts from being featured on the front page or in feeds, and from notifying external services of publication.

2.6 (2016-03-27)

Highlights: * This release adds the ability to set the stealth publish checkbox via the quick edit box, adds an icon next to the post date in the admin listing to denote a post has stealth update enabled, adds support for language packs, and has some minor behind-the-scenes changes.

Details: * New: Add ability to set the Stealth Publish? value in the Quick Edit form. * Add add_to_submitbox(), add_to_quick_edit(), admin_enqueue_scripts(). * Add option arg $checked to add_ui() and use its value as the default if not null. * New: Add hidden icon next to post's date column in posts table to indicate which posts have stealth publish enabled. * Change: Delete meta key on save if stealth publish is not enabled for post. * Change: Run esc_attr() on the field name before display for safety. * Change: Don't run esc_attr() on meta key name as it need not be so restrictive (and isn't for display). * Change: Add support for language packs: * Set textdomain using a string instead of a variable. * Don't load textdomain from file. * Remove 'Domain Path' from plugin header. * Remove .pot file and /lang subdirectory. * New: Add LICENSE file. * New: Add empty index.php to prevent files from being listed if web server has enabled directory listings. * Change: Add docblocks for class variables. * Change: Add docblock to example code. * Change: Note compatibility through WP 4.5+. * Change: Update copyright date (2016).

2.5.1 (2015-02-21)

  • Revert to using dirname(__FILE__); DIR is only supported in PHP 5.3+
  • Ensure only '1' or '' is saved as meta field value

2.5 (2015-02-17)

  • Revert to pre-2.4 approach, which didn't have conflicts with other plugins and edge cases. Should fix most reported issues.
  • Cache stealth published post IDs in a transient; delete transient on post updates
  • Disregard protocol in URL comparison
  • Add more unit tests
  • Use existing class static variable for meta name instead of hardcoding it
  • Remove memoization static var and its use
  • Reformat plugin header
  • Use DIR instead of dirname(__FILE__)
  • Change documentation links to wp.org to be https
  • Minor documentation spacing changes throughout
  • Note compatibility through WP 4.1+
  • Update copyright date (2015)
  • Add plugin icon
  • Regenerate .pot

2.4.1 (unreleased)

  • Delay hooking 'pre_get_posts' action to minimize conflicts with other plugins

2.4 (2014-01-23)

  • Exclude stealth posts from front page (when is_front_page() would be true)
  • Add should_exclude_stealth_posts() to encapsulate logic for determining if stealth posts should be excluded
  • Hook pre_get_posts and try to exclude stealth posts in the original query without using secondary query (when possible)
  • Stop hooking posts_where, unless necessary
  • Add reset() to reset memoized protected variables
  • Add unit tests
  • Minor documentation improvements
  • Minor code reformatting (spacing, bracing)
  • Note compatibility through WP 3.8+
  • Drop compatibility with version of WP older than 3.6
  • Update copyright date (2014)
  • Regenerate .pot
  • Change donate link
  • Update screenshots
  • Add banner


  • Deprecate 'stealth_publish_meta_key' filter in favor of 'c2c_stealth_publish_meta_key' (but keep it temporarily for backwards compatibility)
  • Deprecate 'stealth_publish_silent' filter in favor of 'c2c_stealth_publish_silent' (but keep it temporarily for backwards compatibility)
  • Don't allow a blank string from 'c2c_stealth_publish_meta_key' to override the default meta key name
  • Remove private static $textdomain and its use; include textdomain name as string in translation calls
  • Remove function load_textdomain()
  • Add check to prevent execution of code if file is directly accessed
  • Re-license as GPLv2 or later (from X11)
  • Add 'License' and 'License URI' header tags to readme.txt and plugin file
  • Minor improvements to inline and readme documentation
  • Regenerate .pot
  • Minor code reformatting
  • Remove ending PHP close tag
  • Note compatibility through WP 3.5+
  • Tweak installation instructions in readme.txt
  • Update copyright date (2013)
  • Move screenshots into repo's assets directory


  • Add version() to return plugin's version
  • Update readme with example and documentation for new filter
  • Note compatibility through WP 3.3+
  • Update screenshots for WP 3.3
  • Use DIRECTORY_SEPARATOR instead of hardcoded '/'
  • Create 'lang' subdirectory and move .pot file into it
  • Regenerate .pot
  • Add 'Domain Path' directive to top of main plugin file
  • Add link to plugin directory page to readme.txt
  • Update copyright date (2012)


  • Fix bug where using Quick Edit on post caused Stealth Publish status to be cleared
  • Add filter 'c2c_stealth_publish_default' to allow configuring checkbox to be checked by default
  • Note compatibility through WP 3.2+
  • Minor code formatting changes (spacing)
  • Fix plugin homepage and author links in description in readme.txt


  • Switch from object instantiation to direct class invocation
  • Explicitly declare all functions public static and class variables private static
  • Note compatibility through WP 3.1+
  • Update copyright date (2011)


  • Bugfix for auto-save losing value of stealth publish status


  • Bugfix for WP 2.9.2 compatibility


  • Encapsulate all code in new c2c_StealthPublish class
  • Now also silently publish posts that are stealth published (i.e. don't send out pingbacks, tracbacks, and pings to update services)
  • Add checkbox labeled "Stealth publish?" to Publish meta_box rather than requiring direct use of custom fields
  • Allow overriding of custom field used via 'stealth_publish_meta_key' filter (default value is '_stealth_publish')
  • Add filter 'stealth_publish_meta_key' to allow overriding custom field key name
  • Add filter 'stealth_publish_silent' to allow overriding silent publish feature
  • Add class of 'c2c-stealth-publish' to admin UI div containing checkbox
  • Change custom field used to be a hidden custom field by prepending '_' to the name
  • Accept second arg to stealth_publish_where()
  • Completely re-implemented find_stealth_published_post_ids()
  • Full support for localization
  • Store plugin instance in global variable, $c2c_stealth_publish, to allow for external manipulation
  • Remove docs from top of plugin file (all that and more are in readme.txt)
  • Minor code reformatting (spacing)
  • Add PHPDoc documentation
  • Note compatibility with WP 3.0+
  • Drop compatibility with versions of WP older than 2.9
  • Add screenshots
  • Update copyright date
  • Add package info to top of plugin file
  • Add Changelog, Filters, and Upgrade Notice sections to readme.txt
  • Add .pot file
  • Add to plugin repository


  • Initial release

Requires: 3.6 or higher
Compatible up to: 4.5.6
Last Updated: 10 months ago
Active Installs: 2,000+


5 out of 5 stars


0 of 1 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

50,2,1 100,1,1