Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Why Plugins Extend Functionality in WordPress
📖 Scenario: You are building a simple WordPress site and want to add new features without changing the core WordPress files.
🎯 Goal: Learn how plugins add new features to WordPress by creating a simple plugin that adds a custom message to your site.
📋 What You'll Learn
Create a basic WordPress plugin file
Add a configuration variable for the message
Use a WordPress hook to add the message to the site
Complete the plugin header for WordPress recognition
💡 Why This Matters
🌍 Real World
WordPress plugins let site owners add features like contact forms, SEO tools, or custom layouts easily.
💼 Career
Understanding plugins is essential for WordPress developers and site managers to extend site functionality safely and efficiently.
Progress0 / 4 steps
1
Create the plugin file with header
Create a PHP file named simple-message-plugin.php and add the plugin header with Plugin Name: Simple Message Plugin and Description: Adds a custom message to the site.
Wordpress
Hint
The plugin header must be inside a PHP comment block starting with /* and ending with */.
2
Add a configuration variable for the message
Below the plugin header, create a variable called $custom_message and set it to the string 'Hello from the plugin!'.
Wordpress
Hint
Use a PHP variable with the exact name $custom_message and assign the exact string.
3
Use a WordPress hook to add the message
Create a function called display_custom_message that echoes the $custom_message. Then use add_action with the hook wp_footer to call display_custom_message.
Wordpress
Hint
Remember to use global $custom_message; inside the function to access the variable.
4
Complete the plugin for WordPress recognition
Ensure the plugin file starts with <?php and contains the plugin header, the $custom_message variable, the display_custom_message function, and the add_action call. Save the file as simple-message-plugin.php in the wp-content/plugins folder.
Wordpress
Hint
Make sure the entire plugin code is present and saved in the correct folder for WordPress to detect it.
Practice
(1/5)
1. Why do WordPress plugins extend functionality instead of modifying the core WordPress files?
easy
A. To add new features without risking core system stability
B. Because core files are too large to edit
C. To make WordPress run faster
D. Because plugins are easier to delete than core files
Solution
Step 1: Understand WordPress core stability
Modifying core files can cause errors and make updates difficult.
Step 2: Role of plugins
Plugins add features safely without changing core code, keeping stability intact.
Final Answer:
To add new features without risking core system stability -> Option A
Quick Check:
Plugins extend safely = C [OK]
Hint: Plugins add features safely without touching core files [OK]
Common Mistakes:
Thinking plugins make WordPress faster
Believing core files are too big to edit
Confusing plugin deletion with core stability
2. Which of the following is the correct way to add a simple plugin hook in WordPress to change the site title?
easy
A. add_action('wp_title', 'my_custom_title');
B. add_plugin('wp_title', 'my_custom_title');
C. add_filter('wp_title', 'my_custom_title');
D. add_hook('wp_title', 'my_custom_title');
Solution
Step 1: Identify correct hook function
WordPress uses add_filter to modify data like titles, not add_action.
Step 2: Check function names
add_hook and add_plugin are not valid WordPress functions.
Final Answer:
add_filter('wp_title', 'my_custom_title'); -> Option C
Quick Check:
Use add_filter for modifying data [OK]
Hint: Use add_filter to change data like titles [OK]
Common Mistakes:
Using add_action instead of add_filter
Using non-existent functions like add_hook
Confusing hook names
3. Given this plugin code snippet, what will be the output on the site title?
A. There will be a syntax error and the site will break
B. The site title will be replaced completely with 'Welcome - '
C. The site title will not change
D. The site title will start with 'Welcome - ' followed by the original title
Solution
Step 1: Understand the filter function
The function adds 'Welcome - ' before the original title by returning a new string.
Step 2: Effect of add_filter
add_filter applies this function to the site title, modifying it but keeping original content.
Final Answer:
The site title will start with 'Welcome - ' followed by the original title -> Option D
Quick Check:
Filter prepends text to title [OK]
Hint: Filter functions return modified data, not replace it fully unless coded [OK]
Common Mistakes:
Thinking the title is replaced fully
Assuming no change happens
Expecting syntax errors from correct code
4. Identify the error in this plugin code that tries to add a footer message:
function add_footer_message() {
echo 'Thank you for visiting!';
}
add_filter('wp_footer', 'add_footer_message');
medium
A. Missing semicolon after echo statement
B. Using add_filter instead of add_action for outputting content
C. Function name should be prefixed with 'wp_'
D. The hook name 'wp_footer' does not exist
Solution
Step 1: Understand hook types
add_filter is for modifying data, add_action is for outputting content like footer messages.
Step 2: Check code syntax and hook name
Echo statement has semicolon; 'wp_footer' is a valid action hook; function name prefix is optional.
Final Answer:
Using add_filter instead of add_action for outputting content -> Option B
Quick Check:
Use add_action to output HTML [OK]
Hint: Use add_action to print content, add_filter to change data [OK]
Common Mistakes:
Confusing add_filter and add_action
Thinking function names must start with 'wp_'
Believing hook name is invalid
5. You want to create a plugin that adds a custom greeting only on the homepage without changing core files. Which approach best uses plugins to extend functionality safely?
hard
A. Use add_action with 'wp_head' hook and check if is_front_page() before printing greeting
B. Directly edit the header.php file in the theme to add the greeting
C. Modify WordPress core index.php to include the greeting
D. Add the greeting text inside the WordPress database manually
Solution
Step 1: Avoid core and theme file edits
Editing core or theme files risks breaking updates and is not safe.
Step 2: Use plugin hooks with conditional check
Using add_action on 'wp_head' and checking is_front_page() adds greeting only on homepage safely.
Final Answer:
Use add_action with 'wp_head' hook and check if is_front_page() before printing greeting -> Option A
Quick Check:
Safe plugin uses hooks and conditionals [OK]
Hint: Use hooks with conditionals to add features safely [OK]