Bird
Raised Fist0
Wordpressframework~20 mins

Taxonomy term management in Wordpress - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Taxonomy Term Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
What is the output of this code when retrieving terms?
Consider this WordPress code snippet that retrieves terms from a taxonomy:
 $terms = get_terms(array('taxonomy' => 'category', 'hide_empty' => false));
echo count($terms);
What will be the output if there are 5 categories registered, but only 3 have posts assigned?
Wordpress
$terms = get_terms(array('taxonomy' => 'category', 'hide_empty' => false));
echo count($terms);
A3
B0
C5
DError: get_terms not found
Attempts:
2 left
💡 Hint
Check the 'hide_empty' parameter and what it controls.
❓ state_output
intermediate
2:00remaining
What is the value of $term_name after this code runs?
Given this code snippet:
 $term = get_term_by('slug', 'news', 'category');
$term_name = $term->name ?? 'Not found';
echo $term_name;

Assuming a category with slug 'news' exists and its name is 'Latest News', what will be printed?
Wordpress
$term = get_term_by('slug', 'news', 'category');
$term_name = $term->name ?? 'Not found';
echo $term_name;
ALatest News
BError: Trying to get property of non-object
CNot found
Dnews
Attempts:
2 left
💡 Hint
get_term_by returns a term object or false if not found.
📝 Syntax
advanced
2:00remaining
Which option correctly registers a custom taxonomy with hierarchical terms?
You want to register a custom taxonomy called 'genre' for posts, allowing parent-child relationships between terms. Which code snippet correctly does this?
Aregister_taxonomy('genre', 'post', array('parent_child' => true));
Bregister_taxonomy('genre', 'post', array('hierarchical' => false));
Cregister_taxonomy('genre', array('post'), array('hierarchical' => 'yes'));
Dregister_taxonomy('genre', 'post', array('hierarchical' => true));
Attempts:
2 left
💡 Hint
Check the 'hierarchical' argument and its expected value type.
🔧 Debug
advanced
2:00remaining
Why does this code fail to add a term to a taxonomy?
This code tries to add a term 'Thriller' to the 'genre' taxonomy:
 wp_insert_term('Thriller', 'genres'); 

But it does not add the term. What is the likely cause?
Wordpress
wp_insert_term('Thriller', 'genres');
Awp_insert_term requires a third argument for term description.
BThe taxonomy name is incorrect; it should be 'genre' not 'genres'.
CThe term 'Thriller' already exists, so it won't add again.
Dwp_insert_term only works for built-in taxonomies.
Attempts:
2 left
💡 Hint
Check the taxonomy slug spelling.
🧠 Conceptual
expert
2:00remaining
What happens when you delete a taxonomy term that is assigned to posts?
In WordPress, if you delete a term from a taxonomy that is assigned to multiple posts, what is the expected behavior?
AThe term is removed from all posts, but the posts remain intact.
BThe posts assigned to the term are deleted automatically.
CThe term cannot be deleted if assigned to posts; an error occurs.
DThe posts keep the term ID, but it becomes orphaned and inaccessible.
Attempts:
2 left
💡 Hint
Think about how WordPress manages term relationships on deletion.

Practice

(1/5)
1. What is the primary purpose of taxonomy terms in WordPress?
easy
A. To handle database backups automatically
B. To create user accounts and manage permissions
C. To store theme settings and customization options
D. To group and organize content for easier filtering and display

Solution

  1. Step 1: Understand taxonomy terms role

    Taxonomy terms are used to group content like posts or custom post types for better organization.
  2. Step 2: Compare with other options

    User accounts, theme settings, and backups are unrelated to taxonomy terms.
  3. Final Answer:

    To group and organize content for easier filtering and display -> Option D
  4. Quick Check:

    Taxonomy terms = content grouping [OK]
Hint: Taxonomy terms group content, not users or settings [OK]
Common Mistakes:
  • Confusing taxonomy terms with user roles
  • Thinking taxonomy terms manage theme options
  • Assuming taxonomy terms handle backups
2. Which of the following is the correct way to insert a new taxonomy term in WordPress?
easy
A. wp_insert_term('Term Name', 'taxonomy_name');
B. insert_term('Term Name', 'taxonomy_name');
C. add_term('Term Name', 'taxonomy_name');
D. create_term('Term Name', 'taxonomy_name');

Solution

  1. Step 1: Identify the correct function name

    The official WordPress function to add a taxonomy term is wp_insert_term().
  2. Step 2: Check function parameters

    The function takes the term name and taxonomy slug as parameters, matching wp_insert_term('Term Name', 'taxonomy_name');.
  3. Final Answer:

    wp_insert_term('Term Name', 'taxonomy_name'); -> Option A
  4. Quick Check:

    Insert term function = wp_insert_term() [OK]
Hint: Remember the prefix 'wp_' for WordPress core functions [OK]
Common Mistakes:
  • Using non-existent functions like insert_term
  • Omitting the 'wp_' prefix
  • Confusing with functions for posts or users
3. What will the following code output if the taxonomy 'genre' has terms 'Fiction' and 'Non-Fiction'?
 $terms = get_terms(['taxonomy' => 'genre', 'hide_empty' => false]);
foreach ($terms as $term) {
    echo $term->name . ', ';
}
medium
A. Array, Array,
B. genre, Fiction, Non-Fiction,
C. Fiction, Non-Fiction,
D. Error: Undefined variable

Solution

  1. Step 1: Understand get_terms() output

    The function returns an array of term objects for the 'genre' taxonomy, including 'Fiction' and 'Non-Fiction'.
  2. Step 2: Loop and echo term names

    The foreach loop prints each term's name followed by a comma and space, resulting in 'Fiction, Non-Fiction, '.
  3. Final Answer:

    Fiction, Non-Fiction, -> Option C
  4. Quick Check:

    get_terms() returns term objects with names [OK]
Hint: get_terms() returns objects; access name with ->name [OK]
Common Mistakes:
  • Expecting taxonomy name instead of term names
  • Trying to print array directly
  • Forgetting to set 'hide_empty' to false to get all terms
4. Identify the error in this code snippet for updating a taxonomy term name:
 wp_update_term(123, 'category', ['name' => 'New Name']); 
medium
A. The taxonomy slug 'category' is incorrect for terms
B. No error; this code correctly updates the term name
C. Term ID must be a string, not an integer
D. The third parameter should be a string, not an array

Solution

  1. Step 1: Check wp_update_term() parameters

    The function takes term ID (integer), taxonomy slug (string), and an array of args to update.
  2. Step 2: Verify usage correctness

    Using term ID 123, taxonomy 'category', and array with 'name' key is correct syntax and usage.
  3. Final Answer:

    No error; this code correctly updates the term name -> Option B
  4. Quick Check:

    wp_update_term() usage = correct [OK]
Hint: wp_update_term() needs term ID, taxonomy, and args array [OK]
Common Mistakes:
  • Passing term ID as string instead of integer
  • Using wrong parameter types
  • Confusing taxonomy slug with term name
5. You want to add a new term 'Adventure' to the custom taxonomy 'book_genre' only if it does not already exist. Which code snippet correctly achieves this?
hard
A. if (!term_exists('Adventure', 'book_genre')) { wp_insert_term('Adventure', 'book_genre'); }
B. wp_insert_term('Adventure', 'book_genre');
C. if (term_exists('Adventure')) { wp_insert_term('Adventure', 'book_genre'); }
D. wp_update_term('Adventure', 'book_genre');

Solution

  1. Step 1: Check if term exists in taxonomy

    Use term_exists('Adventure', 'book_genre') to verify if the term is already present.
  2. Step 2: Insert term only if it does not exist

    If the term does not exist (negation), call wp_insert_term('Adventure', 'book_genre') to add it.
  3. Final Answer:

    if (!term_exists('Adventure', 'book_genre')) { wp_insert_term('Adventure', 'book_genre'); } -> Option A
  4. Quick Check:

    Check existence before insert = safe add [OK]
Hint: Use term_exists() before wp_insert_term() to avoid duplicates [OK]
Common Mistakes:
  • Inserting term without checking existence
  • Using term_exists() without taxonomy parameter
  • Using wp_update_term() to add new term
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard