Outdated websites are the worst. Particularly when it’s obvious. When you view the home page and it’s advertising an “upcoming” event that happened a week or a month ago. Or urging you to take advantage of a limited time offer for which the deadline is already past.
Is that really the worst thing a website could be? Nah, I suppose it could be ugly or disorganized or unprofessional in a lot of different ways. But it’s one of the things I see regularly on websites that are otherwise very polished. The big event, or the date of the big promotion, has come and gone, but no one has gone back to refresh the website. If it goes on for a few days, it’s forgivable: we all have lots of other things to do. Pretty quickly, though, it starts to look like a sign of neglect.
Here’s the thing: computers can tell time. Content management systems can be configured to let outdated content expire or fade into the background. Just by using a blog and posting to it regularly, you can display your latest content more prominently than older content. For people to be able to find your original announcement of an event in the blog archives isn’t a bad thing, as long as there is more recent content (photos of happy people in the event recap) piled on top.
RSVPMaker event listings address this in a different way, allowing you to display a calendar of events in order of event dates as opposed to in order of posting date (blog style). Site visitors can navigate back through the calendar to find old event posts, but the upcoming stuff is always displayed more prominently.
When you want to embed a featured event on the home page, you can set that up using the rsvpmaker_one shortcode and specify that it should expire after the date is past. I also provide an rsvpmaker_timed shortcode that you can wrap around any block of content with start and/or end times specified for when it should be displayed. (Both are not new but have been improved in recent releases).
The rsvpmaker_one shortcode
The rsvpmaker_one shortcode is particularly intended as a way of displaying an event on the home page or a landing page. Use it to display a specific event, or the next scheduled event, or the next event in a specific category (like the next webinar). You can display the full event, with either the RSVP Now! button or the registration form included, or a show compact version. You can also extract elements like the date, the button, or the form to be used in a custom layout. In the context of this post, the important thing is that it can be set to expire (disappear off the page) when the event date is past.
There is a button on the button bar (the clock icon) to help you get the parameters right.

Examples of the shortcode:
Retrieve a specific event by ID and display it along with the registration form. Expire it 6 hours after the start time of the event.
Show the next event in the webinar category (if none is scheduled, don’t show anything). Instead of displaying the whole form, show the RSVP Now! button.
You can also add a style attribute where you specify CSS for a div to be wrapped around the featured event. Example: style=”border: thin dotted #222; padding: 10px;” for a dotted border.
The rsvpmaker_timed shortcode
The rsvpmaker_timed shortcode is a quick-and-dirty way of specifying a start and/or end date for displaying a chunk of content. I’m sure there are other plugins or themes that provide something like this as a feature, but consider this a little something extra you get “for free” with RSVPMaker.
Here’s an example of how you would set it up:

The basic usage is like this:
Alternatively, you can do this:
The output is similar to what you would get from the example shown above (the one with the closing [/rsvpmaker_timed] tag), except that we’re pulling the content from another post. The style attribute is also available with this one, if you would like to apply a border or background color to the featured chunk of content.
If you don’t specify time of day, midnight is assumed (a December 26 end time means the post will stop displaying 1 second after midnight that morning). To make the start and end times unambiguous, you may want to put them in SQL format.
I currently don’t provide an editor button for finding the post or page ID, but you can grab it easily enough from the address bar in the WordPress editor.

I would typically suggest creating this chunk of content as a blog post. If you don’t want to make it public in the regular navigation flow of the site, you can save it as a draft and still use the WordPress editing tools to format and update that chunk of content independent of the page you are embedding it in.
If you want to use a page or any other post type, you need to add a post_type attribute.
Example:
Note that if you use a caching plugin, content may not disappear immediately after the end time you specified but only when the cache is purged or refreshed.
Those are my latest entries in the war against outdated web content.