2. Which of the following is the correct syntax to add a function to an action hook in WordPress?
easy
A. add_action('init', my_function());
B. add_action(my_function, 'init');
C. add_action('init', 'my_function');
D. add_action('my_function', init);
Solution
Step 1: Recall add_action syntax
The first argument is the hook name as a string, the second is the function name as a string.
Step 2: Check each option
add_action('init', 'my_function'); matches the correct syntax: add_action('hook_name', 'function_name'); others mix argument order or call the function immediately.
Final Answer:
add_action('init', 'my_function'); -> Option C
Quick Check:
Hook name first, function name second as strings [OK]
Hint: Hook name and function name are strings in add_action() [OK]
Common Mistakes:
Swapping hook and function arguments
Passing function call instead of function name
Not using quotes around function name
3. What will be the output of this code snippet?
function greet() {
echo 'Hello!';
}
add_action('wp_footer', 'greet');
Assuming the theme calls do_action('wp_footer'); in the footer.
medium
A. The text 'Hello!' will appear in the footer
B. Nothing will be displayed
C. A PHP error will occur
D. The text 'greet' will appear in the footer
Solution
Step 1: Understand add_action and do_action
add_action attaches 'greet' function to 'wp_footer' hook. When do_action('wp_footer') runs, it calls 'greet'.
Step 2: Analyze the greet function output
The greet function echoes 'Hello!', so this text will appear where the footer hook runs.
Final Answer:
The text 'Hello!' will appear in the footer -> Option A
Quick Check:
do_action triggers greet, which echoes 'Hello!' [OK]
Hint: do_action runs hooked functions, output appears where called [OK]
Common Mistakes:
Thinking nothing happens without explicit call
Confusing function name string with output
Expecting errors from correct hook usage
4. Identify the error in this code snippet:
function add_custom_text() {
echo 'Custom Text';
}
add_action('init', add_custom_text());
medium
A. The function add_custom_text is not defined
B. The hook name 'init' is invalid
C. Missing semicolon after function definition
D. The function add_custom_text is called immediately instead of being hooked
Solution
Step 1: Check how add_action expects arguments
add_action expects the second argument as a function name string, not a function call.
Step 2: Identify the mistake in the code
Using add_custom_text() calls the function immediately and passes its result, which is incorrect.
Final Answer:
The function add_custom_text is called immediately instead of being hooked -> Option D
Quick Check:
Pass function name as string, not call it [OK]
Hint: Use function name string, not function call in add_action() [OK]
Common Mistakes:
Calling function instead of passing name
Assuming hook name is wrong
Missing semicolon confusion
5. You want to add a custom message only after the WordPress footer content is fully loaded, but only on single post pages. Which code snippet correctly uses an action hook with a condition?
hard
A. add_action('wp_footer', function() { if (is_single()) { echo 'Thanks for reading!'; } });
B. add_action('init', function() { if (is_single()) { echo 'Thanks for reading!'; } });
C. add_action('wp_head', function() { if (is_single()) { echo 'Thanks for reading!'; } });
D. add_action('wp_footer', function() { echo 'Thanks for reading!'; });
Solution
Step 1: Identify the correct hook for footer output
'wp_footer' runs after footer content loads, so it's the right hook to add footer messages.
Step 2: Apply condition to show message only on single posts
Using is_single() inside the hooked function ensures the message appears only on single post pages.
Final Answer:
add_action('wp_footer', function() { if (is_single()) { echo 'Thanks for reading!'; } }); -> Option A
Quick Check:
Footer hook + condition inside function = correct usage [OK]
Hint: Use wp_footer hook with is_single() condition inside function [OK]
Common Mistakes:
Using init or wp_head hooks for footer content
Not adding condition for single posts
Echoing outside hooked function
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.