📖 Scenario: You are building a WordPress plugin that needs to store and retrieve site-wide settings. These settings will control how your plugin behaves across the entire website.
🎯 Goal: Build a simple WordPress plugin that uses the Options API to save and retrieve a site-wide setting called myplugin_favorite_color. You will create the option, set a default value, update it, and then retrieve it to use in your plugin.
📋 What You'll Learn
Create an option named myplugin_favorite_color with the default value blue
Add a variable new_color with the value green
Update the option myplugin_favorite_color to the value of new_color
Retrieve the option myplugin_favorite_color and store it in a variable current_color
💡 Why This Matters
🌍 Real World
WordPress plugins and themes often need to save settings that apply to the whole site. The Options API is the standard way to store these settings safely and efficiently.
💼 Career
Understanding the Options API is essential for WordPress developers to create configurable plugins and themes that users can customize.
Progress0 / 4 steps
1
Create the initial option with a default value
Write code to create an option named myplugin_favorite_color with the default value blue using the WordPress function add_option.
Wordpress
Hint
Use add_option('option_name', 'default_value'); to create a new option.
2
Add a new variable for the updated color
Add a variable named new_color and set it to the string green.
Wordpress
Hint
Use $new_color = 'green'; to create the variable.
3
Update the option with the new color
Use the WordPress function update_option to update the option myplugin_favorite_color to the value stored in the variable new_color.
Wordpress
Hint
Use update_option('option_name', $variable); to update the option.
4
Retrieve the updated option value
Retrieve the option myplugin_favorite_color using get_option and store it in a variable named current_color.
Wordpress
Hint
Use $variable = get_option('option_name'); to retrieve the option value.
Practice
(1/5)
1. What is the main purpose of the WordPress Options API?
easy
A. To handle user login and authentication
B. To create new posts automatically
C. To store and manage site-wide settings easily
D. To style the website with CSS
Solution
Step 1: Understand the role of Options API
The Options API is designed to store settings that affect the whole site, like site title or custom settings.
Step 2: Compare with other options
Creating posts, user login, and styling are handled by other parts of WordPress, not the Options API.
Final Answer:
To store and manage site-wide settings easily -> Option C
Quick Check:
Options API = site-wide settings [OK]
Hint: Options API is for site settings, not content or style [OK]
Common Mistakes:
Confusing Options API with post creation
Thinking it manages user authentication
Assuming it handles CSS styling
2. Which function is used to retrieve a stored option value in WordPress?
easy
A. add_option()
B. get_option()
C. update_option()
D. delete_option()
Solution
Step 1: Identify function purposes
add_option() adds a new option, update_option() changes it, delete_option() removes it, and get_option() retrieves the value.
Step 2: Match retrieval action
Since we want to get or read the stored value, get_option() is the correct function.
Final Answer:
get_option() -> Option B
Quick Check:
Retrieve option = get_option() [OK]
Hint: Get means retrieve, so get_option() fetches values [OK]
D. add_option should be called before update_option
Solution
Step 1: Understand function order
add_option adds a new option only if it doesn't exist. update_option updates existing or adds if missing.
Step 2: Analyze code order
Calling update_option first works fine because it adds or updates the option. add_option after will fail to add since the option exists, but this does not cause an error.
Step 3: Correct usage
While add_option before update_option is typical, the code runs without error.
Final Answer:
No error, code works fine -> Option A
Quick Check:
update_option can add option; add_option after does nothing [OK]
Hint: update_option can add option; add_option after does nothing [OK]
Common Mistakes:
Calling add_option after update_option
Thinking update_option can't add new options
Assuming get_option fails here
5. You want to store a site-wide setting that controls whether comments are enabled. Which approach correctly uses the Options API to toggle this setting on and then retrieve it?
hard
A. update_option('comments_enabled', true); echo get_option('comments_enabled');
B. add_option('comments_enabled', true); update_option('comments_enabled', false); echo get_option('comments_enabled');
C. add_option('comments_enabled', true); echo get_option('comments_enabled'); update_option('comments_enabled', false);
D. delete_option('comments_enabled'); add_option('comments_enabled', true); echo get_option('comments_enabled');
Solution
Step 1: Understand update_option behavior
update_option adds the option if it doesn't exist, so calling it first with true sets the value.
Step 2: Retrieve current value
Calling get_option right after returns true, showing comments enabled.
Step 3: Toggle setting
To toggle off, you would call update_option('comments_enabled', false) later. update_option('comments_enabled', true); echo get_option('comments_enabled'); shows correct initial set and get.
Final Answer:
update_option('comments_enabled', true); echo get_option('comments_enabled'); -> Option A
Quick Check:
update_option adds or updates, then get_option reads [OK]
Hint: update_option can add new option; no need to add_option first [OK]
Common Mistakes:
Calling add_option then update_option without retrieval
Deleting option unnecessarily
Expecting add_option to update existing option
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.