وضاحت
Self Destructing Posts lets an editor mark a post as ephemeral. Turn on Enable self-destruct, choose how and when the post should disappear, and publish. The first qualified reader opens it, and the post self-destructs after your chosen grace period.
This is a content-lifecycle tool, not a security or secrecy product. It cannot prevent screenshots, copying, browser cache, search-engine indexing, or a recipient sharing the URL. Treat it as “this post is meant to be temporary,” not “this post is secret.”
What it does
- A Self-Destruct panel in the block editor (and a classic-editor meta box) to enable and configure per post.
- First qualified read trigger — a real reading event, not a crawler or link preview.
- A configurable grace period between the qualifying read and destruction.
- Destructive actions: Move to Trash, Draft, Private, Replace with a message, or Permanently delete.
- Destroyed-URL responses: 410 Gone (default), 404, redirect, or a custom message — served even if the post was permanently deleted.
- Atomic arming so exactly one reader arms a post under concurrent traffic.
- No-store cache headers and noindex/nofollow/noarchive on self-destruct posts.
- Exempts administrators/editors, and filters known bots, previews, prefetch, HEAD, REST and feed requests to reduce accidental destruction.
- A repair tool that completes destructions if WP-cron ran late, and an emergency pause that halts all pending destructions.
- A minimal audit log of state transitions that never stores the destroyed post’s content.
What it deliberately does NOT do
- Guarantee secrecy or DRM.
- Prevent screenshots, copy/paste, saved pages, reader mode, or browser history.
- Remove content already cached or indexed by search engines, CDNs, social networks, or browsers.
- Track the identity of individual readers.
An already-cached page cannot be reliably “unread.” Caching is the single biggest practical risk — the plugin sends no-store headers and integrates with common cache plugins on a best-effort basis, but it cannot promise universal cache bypass.
تصوير



انسٽاليشن
- Upload the
self-destructing-postsfolder to/wp-content/plugins/, or install through the Plugins screen. - Activate the plugin.
- Open a post, expand the Self-Destruct panel in the editor sidebar, and switch on Enable self-destruct.
- Choose your trigger, grace period, action, and destroyed-URL behavior, then publish.
- Review site-wide defaults and the emergency pause under Settings Self-Destruct.
For reliable timing on low-traffic sites, configure a real server cron to run wp-cron.php.
FAQ
-
Is this secure or private?
-
No. This is a content-lifecycle tool. It cannot stop screenshots, copies, caches, or someone re-sharing the URL. Do not use it to protect secrets.
-
When does the countdown start?
-
When a reader qualifies (a genuine reading event), not when you publish. The grace period runs from that moment.
-
What counts as a “qualified read”?
-
A public visitor loads the post, a small script confirms the page was visible for at least a few seconds, and the browser returns a signed, single-use token. Admins/editors, bots, previews, prefetches, feeds, and REST requests do not qualify.
-
What happens after a post is destroyed?
-
Future visitors get the response you chose — 410 Gone by default. The plugin keeps a minimal route record so it can serve that response even if the post was permanently deleted.
-
Do global settings or per-post settings win?
-
Per-post settings always override the site-wide defaults under Settings Self-Destruct. The global values are the starting point for new posts (grace period, action, destroyed behavior, redirect URL, message) and the site-wide exempt roles. The master “enabled site-wide” switch is a kill switch: when off, no post is gated, armed, or destroyed.
-
Can I stop a destruction?
-
Yes. Disarm an armed post from the posts list, or flip the site-wide Emergency pause under Settings Self-Destruct.
جائزا
ھن پلگ ان لاءِ ڪي به رايا ناھن.
تعاون ڪندڙ & ڊولپرز
“Self Destructing Posts” اوپن سورس سافٽ ويئر آهي. ھيٺين ماڻھن ھن پلگ ان ۾ حصو ورتو آھي.
تعاون ڪندڙترجمو ڪريو “Self Destructing Posts” توهان جي ٻولي ۾.
ڊولپمينٽ ۾ دلچسپي؟
ڪوڊ براؤز ڪريو، چيڪ ڪريو SVN مخزن، يا رڪنيت حاصل ڪريو ڊولپمينٽ لاگ پاران RSS.
لاگ تبدیل ڪريو
1.0.1
- Fixed: on a site using plain permalinks (?p=123), destroying a post recorded the site homepage as the destroyed URL, so the front page began returning “410 Gone” — which also asks search engines to remove it. Plain permalinks now keep the post identifier, and the homepage can never be treated as destroyed content.
- Fixed: the per-post “Exempt roles” setting was silently discarded — the field failed to register, so choices made in the editor were never saved. Site-wide exempt roles were unaffected.
- Tested up to WordPress 7.1.
1.0.0
- First public release on WordPress.org. The plugin code is unchanged from 0.1.2 — the version marks readiness for general use, not new features. Earlier 0.1.x versions were development releases and were never published here.
0.1.2
- Fixed the internal codename showing in two labels — the classic-editor checkbox and the posts-list bulk actions now read “Enable/Disable self-destruct”. No behavior change.
0.1.1
- Raised minimum requirements to WordPress 6.6 and PHP 8.2.
- Renamed the main plugin file to match the directory slug.
- Removed unused internal code (an unwired state-transition validator) and tidied module exports. No behavior change.
0.1.0
- Initial development release: editor panel, first-qualified-read arming, grace period, Trash/Draft/410 actions, no-cache/noindex headers, atomic arming, scheduled-destruction repair, minimal audit log.
