I have a request from a client who wants to be able to schedule updates to content. For example, at midnight on Friday, change the text of a promotional banner. There’s a plugin that handles this really well, but only for posts and pages.
The specific piece of content they want to schedule for is on an options page, so the plugin doesn’t work for this specific case.
Any suggestions on how to handle this? I know I could always pull that content into a post or something, but I’d like to try to keep everything in the context of the options page.
To get the same effect with an options page you would probably need to build your own plugin similar to the other one that has another options page to let them update the values.
I would probably do this a simpler way by using a repeater field. I would add a data/time field to the repeater, or maybe 2, to allow the client to set dates what it should be displayed. Then when looping through the repeater I’d check the value of the field against the current date/time to see if it should be displayed.
This has two effects
Only the ones in the correct date range are shown, the main goal
Allows reusing old entries, or modifying them for reuse in the future, which means that the client does not always need to build something from scratch.
The main issue with this method is that if you’re not already using a repeater and showing multiple items where this is used then it will need to be rebuild to do so. Or you could limit the display to the first entry that meets the criteria, but this would still mean rebuilding a portion of your code.