Bird
Raised Fist0
Wordpressframework~10 mins

Why content types matter in Wordpress - Test Your Understanding

Choose your learning style10 modes available

Start learning this pattern below

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to register a custom post type in WordPress.

Wordpress
register_post_type('book', [1]);
Drag options to blanks, or click blank then click option'
Atrue
B'Books'
Carray('name' => 'Books')
Darray('label' => 'Books', 'public' => true)
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a string instead of an array
Using incorrect keys in the array
2fill in blank
medium

Complete the code to add support for the editor in a custom post type.

Wordpress
register_post_type('movie', array('supports' => array([1])));
Drag options to blanks, or click blank then click option'
A'thumbnail'
B'editor'
C'excerpt'
D'comments'
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing 'thumbnail' which is for images
Choosing 'comments' which is for comments support
3fill in blank
hard

Fix the error in the code to properly register a custom taxonomy.

Wordpress
register_taxonomy('genre', 'book', [1]);
Drag options to blanks, or click blank then click option'
Aarray('label' => 'Genres', 'hierarchical' => true)
Barray('labels' => 'Genres')
C'label' => 'Genres'
Dtrue
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a string instead of an array
Using 'labels' as a string instead of an array
4fill in blank
hard

Fill both blanks to create a custom post type with title and editor support.

Wordpress
register_post_type('album', array('supports' => array([1], [2])));
Drag options to blanks, or click blank then click option'
A'title'
B'editor'
C'thumbnail'
D'comments'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'thumbnail' or 'comments' instead of 'title' or 'editor'
5fill in blank
hard

Fill all three blanks to register a custom taxonomy with hierarchical support and a label.

Wordpress
register_taxonomy('topic', 'post', array('hierarchical' => [1], 'label' => [2], 'show_ui' => [3]));
Drag options to blanks, or click blank then click option'
Afalse
B'Topics'
Ctrue
D'topic'
Attempts:
3 left
💡 Hint
Common Mistakes
Setting hierarchical to false
Using label without quotes
Setting show_ui to false

Practice

(1/5)
1. Why do content types matter in WordPress?
easy
A. They help organize and manage different kinds of content easily.
B. They change the website's color scheme automatically.
C. They increase the website's loading speed by caching.
D. They create user accounts for visitors.

Solution

  1. Step 1: Understand the role of content types

    Content types in WordPress are used to organize different kinds of content like posts, pages, or products.
  2. Step 2: Identify the main benefit

    This organization helps manage and display content in ways that fit each type, making the site easier to update and use.
  3. Final Answer:

    They help organize and manage different kinds of content easily. -> Option A
  4. Quick Check:

    Content types organize content = C [OK]
Hint: Content types organize content, not design or speed [OK]
Common Mistakes:
  • Confusing content types with design features
  • Thinking content types affect site speed
  • Assuming content types manage user accounts
2. Which of the following is the correct way to register a custom content type in WordPress?
easy
A. create_content_type('book', $args);
B. new_content_type('book', $args);
C. add_custom_type('book', $args);
D. register_post_type('book', $args);

Solution

  1. Step 1: Recall WordPress function for content types

    The correct WordPress function to register a custom content type is register_post_type.
  2. Step 2: Match the function with the options

    Only register_post_type('book', $args); uses register_post_type correctly with the content type name and arguments.
  3. Final Answer:

    register_post_type('book', $args); -> Option D
  4. Quick Check:

    Correct function is register_post_type = B [OK]
Hint: Remember: register_post_type() registers content types [OK]
Common Mistakes:
  • Using non-existent functions like create_content_type
  • Confusing content type registration with user creation
  • Misspelling the function name
3. Given this code snippet registering a custom content type:
register_post_type('movie', ['label' => 'Movies', 'public' => true]);

What will happen when you visit the WordPress admin dashboard?
medium
A. A new menu item labeled 'Movies' appears for managing this content type.
B. The site background color changes to blue.
C. An error message appears because 'movie' is not a default content type.
D. Nothing changes; custom content types are not shown in admin.

Solution

  1. Step 1: Understand the effect of register_post_type with 'public' true

    Setting 'public' to true makes the content type visible in the admin dashboard with its own menu.
  2. Step 2: Identify the expected admin dashboard change

    A new menu labeled 'Movies' will appear to manage this custom content type.
  3. Final Answer:

    A new menu item labeled 'Movies' appears for managing this content type. -> Option A
  4. Quick Check:

    Public content type shows admin menu = D [OK]
Hint: Public content types show admin menus automatically [OK]
Common Mistakes:
  • Thinking custom types cause errors if not default
  • Assuming no admin change happens
  • Confusing content type with design changes
4. This code tries to register a custom content type but causes an error:
register_post_type('event');

What is the problem?
medium
A. The content type name 'event' is reserved and cannot be used.
B. Missing the second argument with settings array.
C. register_post_type must be called inside a function named 'init'.
D. The function name should be register_content_type, not register_post_type.

Solution

  1. Step 1: Check the function usage

    The function register_post_type requires two arguments: the content type name and an array of settings.
  2. Step 2: Identify the missing argument

    The code only provides the name 'event' but misses the settings array, causing an error.
  3. Final Answer:

    Missing the second argument with settings array. -> Option B
  4. Quick Check:

    register_post_type needs two arguments = A [OK]
Hint: register_post_type needs name and settings array [OK]
Common Mistakes:
  • Thinking 'event' is a reserved name
  • Believing function name is wrong
  • Assuming function must be inside 'init' function
5. You want to create a custom content type for 'Recipes' that supports title, editor, and thumbnail, and appears in the admin menu. Which code snippet correctly achieves this?
hard
A. register_post_type('recipes', ['supports' => ['title', 'editor'], 'public' => true]);
B. register_post_type('recipe', ['supports' => ['comments'], 'public' => false]);
C. register_post_type('recipe', ['supports' => ['title', 'editor', 'thumbnail'], 'public' => true]);
D. register_post_type('recipe', ['supports' => ['title', 'editor', 'thumbnail'], 'public' => false]);

Solution

  1. Step 1: Check the content type name and supports

    The content type name should be singular 'recipe' and support title, editor, and thumbnail as requested.
  2. Step 2: Ensure it appears in admin menu

    Setting 'public' to true makes it visible in the admin menu.
  3. Step 3: Evaluate options

    register_post_type('recipe', ['supports' => ['title', 'editor', 'thumbnail'], 'public' => true]); matches all requirements: correct name, supports array, and public true.
  4. Final Answer:

    register_post_type('recipe', ['supports' => ['title', 'editor', 'thumbnail'], 'public' => true]); -> Option C
  5. Quick Check:

    Correct name, supports, and public true = A [OK]
Hint: Use singular name, supports array, and public true for admin menu [OK]
Common Mistakes:
  • Using plural name instead of singular
  • Setting public to false hides menu
  • Missing required supports like thumbnail