WordPress.org

Plugin Directory

Show/Hide Content at Set Time

Shortcodes to wrap around text, which specify at what date or time that content should appear or disappear, either once, or on a recurring basis.

Like this plugin? Consider leaving a quick review or writing about how you've used it on your site - send me a link to that write up if you do.

This plugin is maintained on GitHub, so feel free to use the repository for reporting issues, submitting feature requests and submitting pull requests.

This plugin provides shortcodes allowing you to display content or hide content at given dates and times. You can also combine the two to show some content at a given time, and then hide it at another time.

There's also a separate shortcode if you want to repeat a schedule for showing and hiding content - for example to only show information about a radio show while it's on air.

Usage - single use

To show or hide content at one point in time, you can use the [time-restrict] shortcode. For example:

[time-restrict off="2015-01-01"]Please enter our competition[/time-restrict]
[time-restrict on="2015-01-01"]Sorry, this competition has closed[/time-restrict]

If you do not enter a time with the date, it will default to 00:00:00, so in the above example, the first message will show up until 2015-01-01 00:00:00 (i.e. until the first second of 2015) and the second message will show up from 2015-01-01 00:00:00 (i.e. from the first second of 2015)

You can use any date or time string supported by PHP, such as:

[time-restrict off="September 10th, 2014"]Will display until 09/10/2014[/time-restrict]
[time-restrict off="2014-09-10"]Will display until 09/10/2014[/time-restrict]
[time-restrict off="10-Septmber 2014"]Will display until 09/10/2014[/time-restrict]
[time-restrict on="2014/09/10 18:00:00"]Will show after 09/10/2014 at 6pm[/time-restrict]

You can also combine starting and ending dates for the same piece of content. So if you want some content to appear between January 1st and January 10th, you could do the following:

[time-restrict on="2015-01-01" off="2015-01-11"]
This is a limited time offer
[/time-restrict]

Usage - repeating schedule

To show and hide content on a recurring schedule, you can use the [time-restrict-repeat] shortcode. Your options are a daily, weekly, monthly or annual schedule.

A daily schedule takes the following form:

[time-restrict-repeat type="daily" ontime="09:00:00" offtime="17:00:00"]
Working 9 to 5
[/time-restrict-repeat]

Note that you can also cross over midnight, so to only show something from 10PM to 5AM, you can use:

[time-restrict-repeat type="daily" ontime="22:00:00" offtime="05:00:00"]
For the night owls
[/time-restrict-repeat]

A weekly schedule takes the following form:

[time-restrict-repeat type="weekly" onday="Monday" offday="Friday"]
The work week
[/time-restrict-repeat]

You can also specify start and stop times if you want (it will assume starting at 00:00:00 and ending at 23:59:59 if these are left out, like above):

[time-restrict-repeat type="weekly" onday="Friday" offday="Monday" ontime="17:00:00" offtime="08:00:00"]
It's the weekend baby!
[/time-restrict-repeat]

A monthly schedule takes the following form:

[time-restrict-repeat type="monthly" ondate="01" offdate="07"]
The first week of the month
[/time-restrict-repeat]

You can both cross over the end of the month, and apply times to your start and end dates, e.g.

[time-restrict-repeat type="monthly" ondate="25" offdate="05" ontime="17:00:00" offtime="08:00:00"]
We are exceptionally busy at the end of each billing cycle. Please bear with us!
[/time-restrict-repeat]

And lastly, an annual schedule takes the following form:

[time-restrict-repeat type="annually" onmonth="June" offmonth="August" ondate="01" offdate="31"]
I'm currently in the mountains enjoying the summer!
[/time-restrict-repeat]

You can cross over the end of the month or even the end of the year, and apply times to your start and end dates, e.g.

[time-restrict-repeat type="annually" onmonth="December" ondate="24" offmonth="January" offdate="05" ontime="17:00:00" offtime="08:00:00"]
Our employees are currently enjoying time with their families for Christmas. We'll be back after the New Year.
[/time-restrict-repeat]

If you’re feeling creative, you can even nest shortcodes to account for multiple concurrent conditions. Since you cannot nest shortcodes with the same name, you need to add -2 or -3 to time-restrict-repeat in your shortcode (e.g. [time-restrict-repeat-2]).

For example, showing a message during business hours only on Monday to Friday:

[time-restrict-repeat type="daily" ontime="08:00:00" offtime="17:00:00"]
[time-restrict-repeat-2 type="weekly" onday="Monday" offday="Friday"]
Our store is currently open
[/time-restrict-repeat-2]
[/time-restrict-repeat]

Things to bear in mind

The time used by the plugin is your site's local time (check in Settings > General).

I also run Do It With WordPress, which has an array of tutorials for managing, modifying and maintaining your WordPress sites, as well as The WP Butler, a service for keeping your site maintained, backed up, updated and secure.

Requires: 2.5 or higher
Compatible up to: 4.0.4
Last Updated: 2014-12-5
Active Installs: 1,000+

Ratings

5 out of 5 stars

Support

2 of 4 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

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

100,1,1 100,1,1
100,1,1
100,1,1
100,2,2
100,1,1 100,1,1
100,1,1
50,2,1