You probably want to look at using WordPress Transients as they can handle both the data and the timestamp/expiration.
You can also check out The Deal with WordPress Transients by CSS Tricks which has some good info as well.
Related Posts:
- How do I create a widget that only allows a single instance?
- Ask user permission when activating a plugin
- Defer Code in Widgets – Page Speed
- changing wp-admin/widgets.php
- dynamically add scripts to WP_Widget widget() method
- Changes in widget customizer not triggering ‘save and publish’
- How do i manually place a widget code
- How to Validate Widget Input
- Insert a span inside widget title to give a different color to the second word
- What is the use case for the “Class” parameter in register_sidebar?
- Add a select box to all widgets
- How to avoid widgets added to sidebar on theme activation?
- WordPress “include TEMPLATEPATH” or?
- Display specific widgets in different area’s around the page
- Display sidebar that created in functions.php
- Create More Widget Holders Like Active Widgets and Inactive Widgets
- /images/image.jpg not working in sidebar
- Unable to save widget contents
- Image picker widget
- Use wp_enqueue_style based on user option in widget
- WordPress widget args – classname?
- Creating a admin widget for /wp-admin/post.php?
- dynamic_sidebar() returns false in admin section
- Moving comments section to left of content (Twenty Thirteen)
- Adding custom html and standard widgets to sidebar
- How to add new sidebar widget area to child theme?
- passing variables inside a widget add_action
- Making the default “Latest Posts” WordPress Widget Show Thumbnails
- Text Widget Links Not Working
- Display the id list of active widgets of same sidebar?
- Add description to custom text widget and display the 5 recent post titles
- Add individual tag to widget title in sidebar
- Where do I save widget code for wordpress?
- Is there any way to print a widget by having its id?
- How to save widget fields generated from an array?
- Remove image height/width attributes from Image Widget
- Need help using a filter on the default Categories widget
- How to display an RSS feed widget inside a page?
- widget dropdown menu code
- Newbie: Help with Vertical Spacing on Footer Widget [closed]
- custom widget does not saved value
- php to add a link into wp widget without specific url
- Widget Select Options not saving
- Copy Widget Settings because of changed IDs
- How to call widget by widget’s id?
- Why is my custom widget breaking another one?
- in_widget_form detect sidebar id
- function WP_Widget::widget() must be over-ridden in a sub-class. when create new Widget
- How do widgets access posts they should display?
- How to move top widget to the left – Responsive Theme WordPress
- How do I deactivate widgets by name?
- Remove links from meta widget
- Can’t display custom widget
- How to make home widgets appear horizontally
- Using more widget in main page cause slow loading WordPress? [closed]
- add_action not working within widget() of WP_Wdiget
- WordPress custom widget undefined variable notice
- Multiple rows of footer widget areas
- How do I make the title of the following widget editable?
- Escape HTML on WP input
- Add links widget to self-hosted blog?
- How to add Ajax to the default widget calendar to support next/previous months loading?
- prevent custom widget file names from showing in Appearance > Editor
- Issue with checked() echoing on to page
- Adding dashboard widgets to show – custom post type stats, information from other plugins
- Upgraded to 3.3, My Widgets Disappeared
- Register new widget
- How to use register_sidebar’s ‘before_widget’ unique id generator into its other parameters like ‘before_title’?
- Set a dashboard widget to the top?
- Dynamic Bootstrap Carousel ID per widget on same page
- How to decorate WP_Widget_Text?
- Tabs widget from Elementor is not showing the content in it to users. But at admin side it is working fine
- Siderbar implementation with collapsible bootstrap cards
- Title not Emptying in a Widget
- Get a list of all Widgets registered in WordPress admin widgets-area
- How to implement widgets error output with data validation?
- Simple SCript Not Displayed in WIdth
- how to get value of a select box in custom widget wordpress
- Using the_widget Multiple Times
- Conditionally Load a Script if a Certain Widget is Shown on a Page
- Where to add a widget class?
- Nonce and widget
- Active Sidebar Conditional Question?
- How to give a File Upload option in wordpress Widget backend?
- Pass widget variable to external function
- Widget front-end fails to echo as expected from checkbox
- Can I use widgets & shortcode if I need to return an array?
- Widget area does not show any contents for specific users in admin interface. How to go about debugging?
- Creating an custom admin page for editing widgets
- Help me tidy up my widget code
- Show or hide a widget from pages
- Author Link in Recent Posts Widget
- Custom widget breaking widget section in admin menu
- Custom widgets do not appear in dashboard > appearance > widgets
- How to customize dynamic_sidebar rendering? [closed]
- Can’t use is_home in template-functions.php
- How can I order the “Woocommerce Products Widget” by the sales date? [closed]
- How to show WordPress Dashboard Widgets on Frontend?
- how to add multiple menu in custom menu widget?
- is it possible to create custom widgets page in admin?