What are Options in WordPress?
In WordPress, options are the named settings that control how a site, theme, or plugin behaves, from the site title to comment rules. WordPress stores each option as a key-value pair in the wp_options database table, and code reads and updates them through the Options API.
More About Options
Options are how WordPress remembers site-wide settings between visits. When you install a plugin or theme, the choices it gives you, from a theme's fonts, colors, and layouts (its theme options) to a plugin's backup schedule, are usually saved as options so they stick.
WordPress core works the same way. Everything you change in the dashboard's Settings menu, such as your site title, whether comments are open, and the role new users get, is an option under the hood.
Not everything your site remembers is an option, though. Each block in the Block Editor has a settings panel with choices such as colors, typography, and alignment, but WordPress saves those with the post's content rather than as options. A useful rule: if a value applies to one post instead of the whole site, it usually isn't an option.
Where WordPress stores options
WordPress stores each option as a name-value pair in the wp_options table of your site's database. The blogname option holds your site title, admin_email holds the administrator's address, date_format sets how dates display, and default_role decides which role new users receive. On a multisite network, options that apply network-wide live in a separate table called wp_sitemeta.
Developers manage these values through the Options API and its 4 core functions: get_option(), add_option(), update_option(), and delete_option().
Options vs. settings
The two words describe the same system from opposite ends: settings are what you see, options are what gets saved.
- Settings are the dashboard screens where you change values, the forms under the Settings menu.
- Options are the stored values those screens write to the wp_options table.
Save the General Settings screen, for example, and WordPress writes your entries into the blogname and admin_email options. Change an option directly in the database and the Settings screen shows the new value the next time it loads.
When options slow your site down
WordPress loads a batch of options with a single database query on every page request, a technique called autoloading. That's efficient for values used on every page and wasteful for the rest: the add_option() documentation warns that autoloading too many options can lead to performance problems, especially when they're rarely used. The autoload parameter defaulted to yes for years, so plugins autoloaded nearly everything, and plugins often leave their options behind when you remove them. The result is a wp_options table that grows for the life of a site. WordPress 6.6 changed the default in 2024: WordPress now decides autoloading case by case and skips options with large values.
Before you clean anything, back up the database. Then audit: WP-CLI's wp option list --autoload=on --format=total_bytes reports how many bytes your site autoloads on each request, and options left behind by plugins you removed long ago can usually go once you've confirmed nothing still reads them.
Frequently Asked Questions
Powerful WordPress Hosting
Reliable, lightning-fast hosting solutions specifically optimized for WordPress. Find the perfect plan for you by clicking below.
WordPress Hosting Plans