I would go with transient. The reason I would choose transient it is they are created exactly for your case. I know that you have your own removal functionality but why to repeat yourself? Another advantage would be that transient beneath use cache. If for some reason your will need to install object cache your shortcode would automatically benefit from it.
Related Posts:
- Are transients garbage collected?
- How does object caching work?
- Fallback when Transient API fails
- How to cache posts based on $_GET? Option name is too long? Options / transients
- Transients API conditional
- how to update serialized options programatically?
- Will it break my site if I delete all transient records in wp_options table?
- What’s the difference between Options & Settings?
- Why does WordPress use serialize rather than json_encode for the options table? [duplicate]
- Plugin options will not save in database
- No option to allow search engines to index my site in WP 4.3
- How to update an ‘array’ option using wp-cli [duplicate]
- How to Create a Custom WordPress Install Package?
- Confirmation before deleting plugin options via uninstall.php
- Set WordPress settings programmatically
- Submenu pages delete settings from options array when saved
- get_option() from another wordpress site
- How can I get all user options?
- register_setting() vs add_option()
- Settings API – save an array of options as one setting (array_push?)
- Where to hook register_settings for Settings API when also want to update options outside of Settings API?
- How much string content can I store in an option?
- Save Theme Options (options.php) From The Frontend
- Long option names fail silently?
- Can’t output do_settings_sections . Can’t understand why
- checkbox with get_option not working
- Single callback with multiple setting fields
- Any way to partition wp_options?
- How do I add a value to a wp_options option that is an array?
- how can I detect that option value has changed?
- Can I use a space in an option name/key?
- How to display some settings for super admin user only using Settings API
- Settings API get_option best practices
- Deploy pre-configured database
- Tab from Settings API resetting all options with INSERT INTO [closed]
- Getting settings saved two times in settings page with tab
- display all posts in wordpress admin crashing after 999 screen option
- Where is the submitted $_POST array stored after an option page submission?
- get_option array value defaults and best practices
- Add an option to a Child theme of Twenty Eleven
- The Settings API – What is the purpose of default value in register_setting?
- WordPress options page not saving
- How to store a value on WP_option table
- Two settings_fields in one form
- Custom blog settings
- Implementing action correctly
- wp_usermeta wp_usersettings
- Can’t save checkbox option
- How to set wp_editor to be email friendly?
- options-general.php page displays different sitename, home compared to wp_options table
- Work flow for multiple developers
- i changed my wordpress address url in SETTINGS – GENRERAL – wordpress address site url. cannot login anymore
- Functions to edit wp-config.php [duplicate]
- Cannot save using register_setting
- Saving plugin options page
- Testing for addon plugin activated
- update a value in wordpress wp_options
- Where have the Privacy Settings gone in WordPress 3.5?
- Is there any other place – besides a theme, a plugin, or a mu-plugin – that an option page might conceivably be used?
- How to save custom settings api fields with custom section fuction
- problem with get_option in dashboard
- Custom options in plugin, register_settings not working as no options.php?
- Google fonts dropdown in Options Framework
- How can I increase the font sizes used by the WordPress visual and HTML post editors?
- How do I retrieve multiple values from a multidimensional array in wp_options?
- Which Hook can I use when creating unique post but not update/save/delete
- Updating just one option with update_option
- Upload file on pre_update_option_{option_name}
- How to use update_option() without replacing/losing the old value?
- how create an html table with all values from a serialized array in option_value
- Settings API and ‘type’ => ‘font’
- Accept code input into Options Framework
- Character \ appearing before ‘ after saving a settings page
- How to add a Reset to Defaults button with Settings API?
- How can I clear memcached WordPress site options by hand?
- Autopopulate a value
- get_option() and update_option() in a transaction (for an autoincrement value)
- display category name based on its equivalent id
- Save Plugin Options as Array
- Retrieve my custom settings in the settings/ API endpoint
- Multiple checkbox doesn’t work in wordpress settings api
- Move website from root to sub
- Is saving data to WordPress options as array bad thing to do?
- centralized alternative for get_option: get_site_option, get_network_option or get_site_meta?
- Button to clear transients
- Editing a loaded WordPress option without updating the database
- add image in dropdown select
- User specific settings, limited by role
- Remove Edit Profile option but still have the profile viewable
- How do I create settings only used by my theme? [closed]
- Dynamically Update Key in Associative Array When Saving Settings
- Move one option value into another option
- Adding data to options table
- how can i add_option as array from a form with just a text input
- WordPress options text format
- Caching of SQL queries
- $wpdb->update does not update, var_dump of data is correct
- Custom general settings (textarea field) don’t output HTML correctly
- Using get_option() for check box field
- Where to adjust presets for slider options “auto rotate” (3, 5, 10, 15 seconds)? [closed]