add_filter connects your function to a filter hook.
Your function must return the changed value for WordPress to use it.
Examples
This adds 'Prefix: ' before every post title.
Wordpress
add_filter('the_title', 'add_prefix_to_title');
function add_prefix_to_title($title) {
return'Prefix: ' . $title;
}
This adds a thank you message at the end of every post content.
Wordpress
add_filter('the_content', 'add_footer_to_content', 10, 1);
function add_footer_to_content($content) {
return $content . '<p>Thank you for reading!</p>';
}
Sample Program
This code changes the site tagline to 'My Custom Tagline' whenever WordPress gets the description info.
Wordpress
<?php
// Add a filter to change the site tagline
add_filter('bloginfo', 'change_tagline', 10, 2);
function change_tagline($output, $show) {
if ($show === 'description') {
return'My Custom Tagline';
}
return $output;
}
// Usage example: echo get_bloginfo('description');
OutputSuccess
Important Notes
Always return the modified value in your filter function.
Use the correct hook name to target the data you want to change.
Priority controls the order if multiple filters use the same hook (lower runs first).
Summary
Filter hooks let you change data before WordPress uses it.
Use add_filter to connect your function to a filter hook.
Your function must return the changed value for WordPress to apply it.
Practice
(1/5)
1. What is the main purpose of a filter hook in WordPress?
easy
A. To add new pages to the WordPress admin menu
B. To modify data before WordPress uses it
C. To create new database tables
D. To send emails automatically
Solution
Step 1: Understand what filter hooks do
Filter hooks allow you to change or modify data before WordPress uses it internally or displays it.
Step 2: Compare options to the definition
Only To modify data before WordPress uses it describes modifying data before WordPress uses it, which matches the purpose of filter hooks.
Final Answer:
To modify data before WordPress uses it -> Option B
Quick Check:
Filter hooks = modify data before use [OK]
Hint: Filter hooks change data before WordPress uses it [OK]
Common Mistakes:
Confusing filter hooks with action hooks
Thinking filter hooks add new features instead of modifying data
Believing filter hooks create database tables
2. Which of the following is the correct way to add a filter hook in WordPress?
easy
A. add_filter('the_title', 'my_title_filter');
B. add_action('the_title', 'my_title_filter');
C. filter_add('the_title', 'my_title_filter');
D. add_filter('the_title', my_title_filter);
Solution
Step 1: Identify the correct function name and syntax
The correct function to add a filter hook is add_filter with the hook name as a string and the callback function name as a string.
Step 2: Check each option for syntax correctness
add_filter('the_title', 'my_title_filter'); uses add_filter with both parameters as strings, which is correct. add_action('the_title', 'my_title_filter'); uses add_action, which is for actions, not filters. filter_add('the_title', 'my_title_filter'); uses a wrong function name. add_filter('the_title', my_title_filter); misses quotes around the callback function name.
Final Answer:
add_filter('the_title', 'my_title_filter'); -> Option A
Quick Check:
Use add_filter with hook and callback as strings [OK]
Hint: Use add_filter('hook', 'function_name') with quotes [OK]
The function add_exclamation adds an exclamation mark to the text. It is hooked to 'the_title' filter.
Step 2: Apply the filter to the string 'Hello'
Calling apply_filters('the_title', 'Hello') runs the filter function, returning 'Hello!'.
Final Answer:
Hello! -> Option C
Quick Check:
Filter adds '!' to 'Hello' = 'Hello!' [OK]
Hint: apply_filters runs all filter functions on the value [OK]
Common Mistakes:
Expecting original text without modification
Thinking filter adds multiple exclamations
Confusing add_filter with add_action
4. Identify the error in this filter hook code:
function change_content($content) {
echo strtoupper($content);
}
add_filter('the_content', 'change_content');
medium
A. The function should return the modified content, not echo it
B. The hook name 'the_content' is invalid
C. add_filter should be add_action here
D. The function name cannot be 'change_content'
Solution
Step 1: Review the filter function requirements
Filter functions must return the modified value so WordPress can use it.
Step 2: Check the function implementation
The function uses echo instead of returning the modified content, so WordPress receives no changed value.
Final Answer:
The function should return the modified content, not echo it -> Option A
Quick Check:
Filter functions must return values, not echo [OK]
Hint: Filter functions must return modified data, not print it [OK]
Common Mistakes:
Using echo instead of return in filter functions
Confusing filter hooks with action hooks
Assuming hook names are invalid without checking
5. You want to modify the excerpt text to add 'Read more...' only if the excerpt is not empty. Which filter hook function correctly does this?
function add_read_more($excerpt) {
// Your code here
}
add_filter('get_the_excerpt', 'add_read_more');
hard
A. echo $excerpt . ' Read more...';
B. return $excerpt . ' Read more...';
C. if (!$excerpt) { return 'Read more...'; } else { return $excerpt; }
D. if ($excerpt) { return $excerpt . ' Read more...'; } else { return $excerpt; }
Solution
Step 1: Understand the requirement
We add ' Read more...' only if the excerpt is not empty (truthy).
Step 2: Analyze each option's logic
if ($excerpt) { return $excerpt . ' Read more...'; } else { return $excerpt; } checks if excerpt is truthy, then appends text and returns it; else returns original excerpt. return $excerpt . ' Read more...'; always appends text even if excerpt is empty. if (!$excerpt) { return 'Read more...'; } else { return $excerpt; } adds 'Read more...' only if excerpt is empty, which is opposite. echo $excerpt . ' Read more...'; uses echo instead of return, which is incorrect for filters.
Final Answer:
if ($excerpt) { return $excerpt . ' Read more...'; } else { return $excerpt; } -> Option D
Quick Check:
Return modified excerpt only if not empty [OK]
Hint: Return modified value only when excerpt is not empty [OK]
Common Mistakes:
Appending text without checking if excerpt is empty
Using echo instead of return in filter functions
Reversing the condition logic
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.