A. Using 'init' hook instead of 'after_setup_theme' for loading text domain
B. Missing text domain parameter in __('Hello World')
C. Incorrect path to languages folder
D. Using echo instead of _e() for translation
Solution
Step 1: Check hook used for loading text domain
The code uses 'init' hook, which is too late for loading theme translations properly.
Step 2: Identify recommended hook
The recommended hook is 'after_setup_theme' to ensure translations load early in theme setup.
Final Answer:
Using 'init' hook instead of 'after_setup_theme' for loading text domain -> Option A
Quick Check:
Load text domain on after_setup_theme, not init [OK]
Hint: Load text domain on after_setup_theme hook, not init [OK]
Common Mistakes:
Using init hook for load_theme_textdomain
Forgetting to add text domain in translation functions
Confusing echo and _e() usage
5. You want to make your WordPress theme fully translation-ready. Which combination of steps is correct?
A) Wrap all user-facing strings with _e() or __(), load text domain in after_setup_theme, and place translation files in /languages folder.
B) Use _e() only, load text domain in init hook, and place translation files in theme root.
C) Wrap strings with __(), load text domain in wp_loaded hook, and place translation files in /lang folder.
D) Use _e() and __() without loading text domain, place translation files anywhere.
hard
A. Wrap strings with __(), load text domain on wp_loaded, store files in /lang
B. Use _e() only, load text domain on init, store files in theme root
C. Wrap strings with _e() or __(), load text domain on after_setup_theme, store files in /languages
D. Use _e() and __() without loading text domain, store files anywhere
Solution
Step 1: Identify correct translation function usage
Both _e() and __() should be used to wrap user-facing strings for translation.
Step 2: Confirm proper hook and folder for translations
Text domain must be loaded on after_setup_theme hook, and translation files should be stored in a /languages folder inside the theme.
Final Answer:
Wrap strings with _e() or __(), load text domain on after_setup_theme, store files in /languages -> Option C
Quick Check:
Correct functions + hook + folder = Wrap strings with _e() or __(), load text domain on after_setup_theme, store files in /languages [OK]
Hint: Use _e()/__(), after_setup_theme hook, and /languages folder [OK]