The canonical solution for this kind of problems is to use a custom post type and “get” with zero effort admin framework and caching when object caching is used. Any attribute that is needed can be stored as a meta.
Depending on what are your specific needs are, you can register such a post type as private and then it will be displayed on the front end only when your shortcode is used.
Related Posts:
- Is get_option() faster than accessing get_transient()?
- Is using custom table to suit business needs instead of transients a big hit to page load speed?
- Custom Plugin Options Won’t Update
- How do I add CSS options to my plugin without using inline styles?
- “Error: Options Page Not Found” on Settings Page Submission for an OOP Plugin
- How come `wp_options` table does not have an index on `autoload`?
- PHP error with shortcode handler from a class
- What are the advantages to the Settings API?
- Adding Widget form fields dynamically
- Add self-closing shortcode button to TinyMCE in WP 4.6
- Optimize shortcode callbacks
- How to properly sanitize strings for update_option()
- Are shortcodes case-sensitive?
- Allowing for multiple template views on the Gallery Settings page when using the Visual Editor
- How do I make specific plugin functionality apply to different sites in a network?
- Filter on the_content ignores shortcodes
- How do I handle multiple Submit buttons in plugin’s option page?
- stray elements
- Deletion of shared options using uninstall.php
- Pass javascript result to shortcode executer function
- update_option is not working!
- Save user-specific options in WordPress admin
- How to store accumulate multiple option values in a single array using Options_API
- WordPress Plugin Setting’s POST
- Performance of several get_option() calls
- Extend plugin options page
- How can I render shortcode so that its not cached by Caching plugins?
- How to edit mySQL wp_posts table from plugin php?
- How to add settings subpage from a plugin to a settings page created in theme?
- Plugin options not being saved or created
- Remove Internal Style Sheet if no Value Provided?
- What could cause my plugin’s options/settings page not to load?
- How to set “Site Address (URL)” programmatically on WP multisite?
- Using wp_parse_args to set up Plugin Default Settings
- What is the best way to embed an JS App in a WordPress Page?
- WP_Editor – Saving Value into Plugin Option – Stripping HTML
- Auto gallery from folder contents
- Secure Pages Best Practice
- add_shortcode() not working inside of function
- Multiple options pages validation for a plugin
- get_option() not returning expected value from plugin
- Parse form values before sending to options.php
- Custom login doesn’t work properly
- Run Shortcode of post’s custom field in functions.php / Plugin
- Update problem with update_option() in combination with register_setting()
- Insert/Update values to a table after blogname option etc. is updated
- wordpress how to query wp_options table
- Wrap text around shortcode
- wp_nonce_field displaying twice
- Redirect to another page using contact form 7? [closed]
- How to handle shortcodes through plugin
- Plugin Options Array Set to Undefined
- Checked() function on a multidimensional array
- Using a custom shortcode from within the template of a shortcode plugin
- When echoing my own shortcode, it keeps adding a 1 at the end of my blogpost
- Automating the process of shortcode generation in a plugin – how is it done?
- Issue on Checkbox with Custom Option Page
- Make Database query only when option is updated
- Create Widget or Enable Shortcodes in Sidebar
- shortcode executed in the page editor
- Shortcode not appearing when used as post content in wp_insert_post() or possibly, shortcode not being registered at all
- How to make my shortcode load scripts and styles, from within the plugin?
- Settings API: Setting default option via ‘get_option’ fails
- How to create ShortCode
- how to save wp_editor html content in options table
- Problem with display data from get_option
- add_filter img_caption_shortcode not implemented
- shortcode tags not working in do_shortcode
- How to insert HTML/CSS/JS into my iframe plugin?
- Form submission to another page returning 404 error [duplicate]
- What could cause a WP Option to get truncated?
- Need to add/remove group of options and display them as rows
- Decontruct serialized data array from wp_options
- Font size of HTML content
- Cannot output plugin twice with shortcode
- How does one update complex options?
- Managing and deleting transients with dynamically generated transient names
- WPGut – Updating failed and shortcode?
- How to write a custom shortcode name book?
- How can we stop showing short code in create or edit post section
- Dynamically modify content added to table via javascript
- Plugins Settings page not updating
- using wordpress acf shortcods in tables goes outside the table
- Pass javascript result to shortcode executer function
- add_settings_error on validating plugin options API
- Shortcode from a plugin not working
- Cannot save settings value
- Displaying settings information in a table
- Is there a way to tell if a shorcode’s handler is being run before or after the content formatting filter?
- How to add conent (text) to Add New pages form of admin in WordPress
- Google does not index data from custom table used for a plugin
- the correct way to use options from settings page [closed]
- Cannot echo a JS variable to a jQuery plugin coming from wp_localize_script
- Loop output for custom plugin [solution found]
- Menu_slug used for creating options page
- How to Pass ID through Short Code
- Can I use an array to create multiple tables?
- WordPress simple ‘Hello World’ plugin – problems
- Leveraging Core Functionality in Icon Upload Plugin [closed]
- Developing an IP lookup function using an API