WordPress Post Expirator 1.3 Released

This should be the last of the rapid releases for a while.  The 1.3 release addresses most if not all of the known issues and feature requests that were reported to me.  I also added a few new features.  The plugin can be downloaded at the WordPress Plugins Page.  Enjoy!


  • Expiration date is now retained across all post status changes
  • Modified date/time format options for shortcode postexpirator tag
  • Added the ability to add text automatically to the post footer if expiration date is set

There are currently 3 valid attributes that can be used with the shortcode:

  • dateformat – overrides the default date setting
  • timeformat – overrides the default time setting
  • type – full, date or time – defaults to full

For more information on the date/time format see the PHP Date Function.

The post footer text has 3 variables which can be used that will be replaced with the post expiration date/time.  The date and time format defaults will be used.  The options are:


As always, please report any problems!

28 thoughts on “WordPress Post Expirator 1.3 Released”

  1. Great work! thank you so much, i download it, I just want it show expired day, and do not want to put it in draft or delete, how could i do?

  2. Hi Aaron,

    This plug-in is brilliant; almost perfect for my needs.

    I am looking for the same functionality – but with some form of author/admin email reminder ahead of ‘expiration’ (maybe 7 days before).

    Had you considered this sort of functionality? I may be able to sponsor some development if you were…

  3. Hi I try the plugin Postexpirator 1.3 im my Blog.Show in post footer is enabled. Problem: As soon I try to Enable Post Expiration Date I have Permission denied Code O Zeile 137, Zeichen 6. How can I solve the Problem.

    Thank for an answer.

  4. Currently it will use whatever your system timezone is. This is however something I still want to add in the future – so it will automatically use whatever timezone the blog is set to.

  5. There is not really any easy way without actually integrating it in. My best suggestion is to use the server timezone for expiration dates for the time being.

  6. Thanks Aaron, I’m actually using a shared hosting provider, so I have no control over the time settings.

    I look forward to this feature being added in!


  7. Hi only one question. Is your post expirator 1.3 tested under Windows Server 2003, IIS,PHP????

    Thanks for your answer.

    Regards Urs from Switzerland

  8. Hi Aaron is there no way for you to test your postexpirator under Windows Server??
    I have tried also the expirator from Atropos (John Lewitt)this one works fine. But on this one I can’t show the expiration Date on posts. However as soon I click on Enable Post Expiration, my Internet Explorer Version 7 shows: permission denied Code 0

  9. I do not have windows environment setup for testing – i do all my webhosting on linux. Can you check the apache/iss error log to see what the specific error is?

  10. Hi Aaron, thank you so much for your work on this plug in. I was wondering if there was a way to have a post expire in a set amount of days rather than on a specific date. I have a RSS aggregator that automatically creates posts. It would be great to automate the process of deleting them as well,

  11. The plugin does not do this – however it sounds doable. It would just take some modification and if logic to be performed during the save action.

    I am also working on a plugin to seemless integrate an rss feed into a wordpress blog without actually posting it to the blog – so once the entry is not int he rss feed anymore – it will not show up on the blog site. not sure if that would be of any use.

  12. Currently that is not available – but it sounds like it should be possible. I’ll add it to the list of things to add.

  13. Hi Aaron,

    I wondered if you had thought about the email notification option… I am close to commissioning an alternate plugin to achieve this requirement.

  14. Hi Aaron, firstly, thanks for the great plugin. I would like to ask whether this plugin has the ability to move the posts to a certain category instead of drafts at the time of expiry. Is there a way to tweak it to do this? If yes, please teach me how, thank you

  15. Aaron, thank you for your work. I just wanted to ask, if plugin can put away posts from main page but leave them in archive? Should I somehow change home.php?
    Thank you.

  16. This would be tricky – you would probably need to hook into the_posts action and tell it to only show expired posts if it is on an archive page – but i’m not sure if that would even fully do the trick – good luck!

  17. This probably wouldn’t be to bad – it would just be the matter of added another option other than changing to draft or deleting – would take a bit of time to implement and test though

  18. Jon – are you willing to code this into the plugin? I’m more than willing to accept patches – their would be a trick to ensuring that an email is only sent once for the posts – probably by setting a post meta flag that would get changed once emailed

  19. I have read that some expiration plugins don’t remove the post until someone actually views the post and then the next time it will be gone. Would that be the case with yours?

    Why I ask is because I have been using your plugin, but today I checked and a post was suppose to expire at 9:00 a.m. and it never did. Then I checked through a bunch of posts and many of them I noticed were way over their expiration dates.

  20. I corrected an issue with posts not being removed – please try the latest 1.3.1 version.

    Due to the nature of how wordpress handles cron, the scheduled process is not actually triggered on that page until someone views it. Because of this, it may take a second reload of the page to actually reflect the post being removed after it has expired.

  21. It looks like this is a very successful plug-in. However it does not work for my WordPress version. Will you be updating this for later versions?

    I am currently running WordPress 2.8.4

  22. Is it possible, this plugin to get in other language? Because the timeformat is in many Countrys an other ;-)…
    I need german.

    I saw, that you have got the time with “.date”.
    How can it got wrote in international timeformat like:

    setlocale(LC_TIME, ‘de_DE’);
    echo strftime etc….

    Is it possible, but I haven’t enough knowings, where in the code….

    Can you give help and a little support?

  23. This probably wouldn’t be to bad – it would just be the matter of added another option other than changing to draft or deleting – would take a bit of time to implement and test though lol..

Leave a Reply

Your email address will not be published. Required fields are marked *