The Atropos WordPress Plugin
[17-Apr-10 Updated to fix error message noticed in 2.9.2 (but possibly there all along).]
[08-Jun-09 Updated to note 2.7.1 compatibility.]
The Atropos plugin lets you set an expiration date for your posts. This is done in a new Advanced Options section of the post edit page.

Just pick your month and put in the date and year and your post will automatically be deleted at the end of that day. Note that the expired posts are DELETED. Be sure that you want to do this. I disavow any responsibility if you delete your entire blog because you weren’t being careful.
This plugin is an updating of my Expiration Date plugin to give it a better interface and a new name (for reasons to be documented in another post at some point). If you’ve been using Expiration Date, you should upgrade to this one. And if you do, it will even offer to import your old expiration dates for you:

Caveat
This plugin uses WordPress’s cron feature. This allows you to set a time for things to happen, such as deleting a post. All well and good, except that it doesn’t actually happen until someone looks at a page AFTER that time. And then it takes a few seconds to actually happen. The net result for this plugin is that expired posts will still be there for the first page view of the deletion day and possibly several more if there is a lot of traffic around midnight. The post will be deleted, but not precisely at midnight. Such is WordPress’s cron.
Atropos?
Atropos was the name of one of the three fates in Greek mythology. The fates were the executors of destiny, with each of them serving a specific purpose. Clotho spun the thread of life. Lechesis measured it to match with each person’s life span. And Atropos cut the threads, thus ending each life.
If you are interested in the fates (or furies or kindly ones or eumenides), Amazon offers plenty of books on Greek mythology. An especially nice treatment of them is in Neil Gaiman’s Sandman books. While they are not prominent characters for most of the story, they play a critical and climactic role, especially in Volume IX, The Kindly Ones.
The name was suggested by Christopher Johnson in a thread on ABestWeb. Christopher was also an invaluable beta test for the Expiration Date plugin that preceded this one. Any bugs in this must have crept in after his testing and all entirely my bad.





Wow, I’m honored that you took the suggestion for Atropos. I’m downloading it now. I’ll let you know if I find any new bugs
Thank you
[...] wanted to let any coupon site folks know about my new WordPress plugin called Atropos that allows you to set an expiration date for posts. very useful for automatically getting rid of [...]
[...] bookmarks tagged plugin The Atropos WordPress Plugin saved by 2 others ShamanKing10 bookmarked on 08/03/08 | [...]
hello
so a nice idea of a plugin, I wonder if it would be really uneasy for it to let the webmaster decide if the post should be deleted or yet more interesting just unpublished (as a parameter says) ? I’d very like this functionality as deleting is a bit hard, especially if one want to reuse the post material
Cheers
I tried to install and got this error? How do I fix this? Thanks, Mike
Fatal error: Call to undefined function add_meta_box() in…..plugins/atropos/atropos.php on line 156
@Mike:
add_meta_box was added in 2.5. Am I correct that you are running an earlier version?
how to just unpublishe a post or set as draft? This could be smart…
Loaded atropos and it worked fine for two days. My post are scheduled to appear in advance, but once they appear, the expiration date on the post disappears.
I’m using TDO mini forms, which allows individuals to make their own posts. I happen to be using it for a job posting site and I need these posts to expire after 3 months. But we don’t want to have to manually setup the expiration date when each post comes in. Is it possible to attach a 3 month expiration date automatically to these posts?
Thanks,
[...] 2.5 as long as possible. It seems to have gone fine. 2.5 was forced by wanting to install. Atropos — a WordPress plugin that allows you to set a “delete on a date” tag to your blog [...]
Bro, it’s very nice but can u enhance the plugins like this :
- once expired, the post status will be come “unpublish” not “deleted”
- there is a notification by email (let know the article owner that his/her article will be expired on [date]) that sent to article owner automatically, so each article may have different owner(email address). To publish his/her post again, he/she must let know the admin by email and the article will be approve by admin.
Would it be possible to have the post moved to a certain category after it expires, rather than getting deleted? This would be a great addition to the plugin (or make a new plugin to do just this)!
Hi,
I edit this plugin, so we can choose to delete post or unpublish post. how can i send You this edited plugin?? there is no contact page in this blog.
Sorry for my bad english.
Hy,
I just found Your plugin and it is real solution for my problem but I need small correction.
Can You tell me is this correct code to for making “published” posts to “pending”? I’m not expert in php and mysql so…
just trying to implement something I found on web.
in: function atropos_delete_expired_posts
change:
with:
$my_post['ID'] = $a;
$my_post['post_status'] = 'pending';
wp_update_post( $my_post );
Also, is it possible to put post_status to “unpublish”?
Thanks, very much.
[...] there so many people asking me for this plugin, so i decide to post it here… From its homepage, The Atropos plugin lets you set an expiration date for your posts. This is done in a new Advanced [...]
This is brilliant!
I am after a small amount of information. I want to use this for events and news items. I would like to modify the following code so that the items are ordered by the expiry date of the post
Does anyone know what I need to change the orderby=title to?
<a href=""></a>
Thanks ! What a great plugin for me !!!!
Anyway, is it a solution in this plugin to add a time parameter to set also the expiration time of the post ?
[...] there are so many people asking me for this plugin, so i decide to post it here⦠From its homepage, The Atropos plugin lets you set an expiration date for your posts. This is done in a new Advanced [...]
[...]There is a Free alternative. Atropos WordPress plugin solves that by allowing you to set an expiration date for your posts and have the post automatically deleted.
I am using a very popular CSV pipe delimited import file. (ie. wp_title|wp_post_date|wp_category|wp_content|wp_tags|)
I am having trouble (trial and error) importing an expiration date.
Any help would be great.
Interesting to read this blog. As a webmaster and frequenter of many Blogs that I often try to make interesting posts but have never seen this kind of application before. It seems that this kind of plugin which will limit the duration of posts is popular. Can somebody please explain to me why you need this kind of plugin?
I’m using your plugin which worked really well over December. I then upgraded to Wordpress ver 7 and now when I add a new post with an expiry date, I get the following message next to the post in the Edit Post Admin page: “Missed Schedule”. Furhermore, when I try to manually edit the Publish status, the option to “Publish” is not available to me on these posts?!?!?!
I am expring post on the same day that I set their dates for – ie: I am using them to announce a persons birthday and then be deleted at the end of the day.
I’m really interested in using this plugin but it doesn’t seem to be compatible with Wordpress 2.7. Will this plugin be updated anytime soon?
I just noticed that 2.7 broke this. Sorry. I’ll try to fix it shortly.
I tested this is a fresh install of 2.7.1 and it seems to work fine. Updated the blurb on wordpress.org to note that. Bumped version number to keep wordpress.org happy (may not have been necessary, but better safe than sorry).
Well, I got a bit excited when I saw that you had updated the plugin for 2.7.1 yesterday, since I had tried it with the original version but with no success. Unfortunately, it is still not deleting posts, despite opening them multiple time and refreshing. I am launching a coupon site and I believe this was the original use envisaged, so it would be perfect – but I don’t know what it is that is preventing my posts from being deleted. Is it anything to do with database permissions perhaps – or how can I check the cron settings – maybe they are on a different timezone perhaps (i’m in the UK)? I’m at a loss and may have to resort to manual removal, since the plugin does list the dates in the Admin Edit screen. I really would appreciate any suggestions. Thanks so much.
Hey Bob. So, it is showing the dates in the post edit page and saving them, but not deleting them? Hmm. Unless wp-cron isn’t working on your server, that really shouldn’t happen. Let me see if I can think of any reason it might fail other than wp-cron not running on your server.
Thanks very much for the quick reply – I didn’t know that wp-cron might not work on my server. Is there any way to check if that’s the case? It could well be the issue – I have tried other expiration plugins and they wouldn’t delete either. If it works for other people – then that sound like the problem – but how to resolve/fix it?
After a bit of research, I have changed wp-cron.php file settings to 755. I will see if that solves the issue.