Bird
Raised Fist0
Wordpressframework~10 mins

Displaying custom field data in Wordpress - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to get a custom field value in WordPress.

Wordpress
<?php $value = get_post_meta(get_the_ID(), '[1]', true); ?>
Drag options to blanks, or click blank then click option'
A'post_title'
B'custom_field_key'
Cthe_ID()
Dget_post_meta
Attempts:
3 left
💡 Hint
Common Mistakes
Using a function like the_ID() instead of the custom field key.
Passing the wrong argument type for the key.
2fill in blank
medium

Complete the code to display the custom field value inside a paragraph tag.

Wordpress
<p><?php echo [1]; ?></p>
Drag options to blanks, or click blank then click option'
Athe_content()
B$custom_value
Cget_post_meta(get_the_ID(), 'custom_field_key', true)
Dget_the_title()
Attempts:
3 left
💡 Hint
Common Mistakes
Echoing a variable that was not defined.
Using functions that get the post title or content instead.
3fill in blank
hard

Fix the error in the code to correctly retrieve and display a custom field value.

Wordpress
<?php $value = get_post_meta([1], 'custom_field_key', true); echo $value; ?>
Drag options to blanks, or click blank then click option'
Aget_the_ID()
Bthe_ID()
C'custom_field_key'
Dget_post_meta
Attempts:
3 left
💡 Hint
Common Mistakes
Using the_ID() which prints instead of returning the ID.
Passing the custom field key as the first argument.
4fill in blank
hard

Fill both blanks to create a custom field display with a fallback message if empty.

Wordpress
<?php $value = get_post_meta(get_the_ID(), [1], true); if ($value [2] '') { echo $value; } else { echo 'No data available'; } ?>
Drag options to blanks, or click blank then click option'
A'custom_field_key'
B!=
C==
Dempty()
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' instead of '!=' which reverses the logic.
Using empty() incorrectly inside the if condition.
5fill in blank
hard

Fill all three blanks to safely display a custom field value with HTML escaping.

Wordpress
<?php $value = get_post_meta([1], [2], true); echo esc_html([3]); ?>
Drag options to blanks, or click blank then click option'
Aget_the_ID()
B'custom_field_key'
C$value
Dthe_ID()
Attempts:
3 left
💡 Hint
Common Mistakes
Using the_ID() which echoes instead of returning the ID.
Not escaping the output which can cause security issues.

Practice

(1/5)
1. What is the main function used in WordPress to retrieve custom field data for a post?
easy
A. get_post_meta()
B. get_custom_field()
C. fetch_post_data()
D. retrieve_meta()

Solution

  1. Step 1: Identify the WordPress function for custom fields

    The standard WordPress function to get custom field data is get_post_meta().
  2. Step 2: Confirm other options are not standard functions

    Functions like get_custom_field(), fetch_post_data(), and retrieve_meta() do not exist in WordPress core.
  3. Final Answer:

    get_post_meta() -> Option A
  4. Quick Check:

    Custom field retrieval = get_post_meta() [OK]
Hint: Remember: WordPress uses get_post_meta() for custom fields [OK]
Common Mistakes:
  • Confusing function names with non-existent ones
  • Using get_post_meta() without parameters
  • Trying to access custom fields like normal variables
2. Which of the following is the correct syntax to get a single custom field value with key 'color' for post ID 42?
easy
A. get_post_meta(42, 'color', true);
B. get_post_meta('color', 42, true);
C. get_post_meta(42, 'color');
D. get_post_meta('color', 42);

Solution

  1. Step 1: Understand get_post_meta() parameters order

    The function signature is get_post_meta($post_id, $key, $single). So the post ID comes first, then the key, then whether to return a single value.
  2. Step 2: Check which option matches this order

    get_post_meta(42, 'color', true); uses get_post_meta(42, 'color', true); which is correct. Others swap parameters or miss the third argument.
  3. Final Answer:

    get_post_meta(42, 'color', true); -> Option A
  4. Quick Check:

    Correct parameter order = post ID, key, single [OK]
Hint: Post ID is first, key second, true for single value [OK]
Common Mistakes:
  • Swapping post ID and key parameters
  • Omitting the third parameter for single value
  • Passing key as first argument
3. Given the code snippet:
$value = get_post_meta(10, 'price', true);
echo $value;

What will be the output if the custom field 'price' for post ID 10 is set to '25.99'?
medium
A. Error: Undefined variable
B. Array
C. NULL
D. 25.99

Solution

  1. Step 1: Understand get_post_meta() with single=true

    When the third parameter is true, get_post_meta() returns a single value as a string, not an array.
  2. Step 2: Check the stored value for 'price'

    The custom field 'price' for post ID 10 is '25.99', so echoing $value outputs '25.99'.
  3. Final Answer:

    25.99 -> Option D
  4. Quick Check:

    Single meta value output = 25.99 [OK]
Hint: Use true to get single value, not array [OK]
Common Mistakes:
  • Expecting an array instead of a string
  • Not setting the third parameter to true
  • Assuming NULL if value exists
4. Identify the error in this code snippet:
echo get_post_meta('price', 15, true);
medium
A. Function get_post_meta() does not exist
B. Missing third parameter
C. Parameters are in wrong order
D. Post ID must be a string

Solution

  1. Step 1: Check parameter order in get_post_meta()

    The correct order is get_post_meta($post_id, $key, $single). Here, 'price' (key) is first and 15 (post ID) second, which is wrong.
  2. Step 2: Confirm other options are incorrect

    The third parameter is present, the function exists, and post ID should be an integer, not string.
  3. Final Answer:

    Parameters are in wrong order -> Option C
  4. Quick Check:

    Post ID first, key second in get_post_meta() [OK]
Hint: Post ID always comes before key in get_post_meta() [OK]
Common Mistakes:
  • Swapping post ID and key parameters
  • Assuming post ID can be string
  • Omitting required parameters
5. You want to display a custom field 'rating' for the current post inside the Loop, but only if it exists and is not empty. Which code snippet correctly does this?
hard
A. echo get_post_meta('rating', get_the_ID(), true);
B. if ($rating = get_post_meta(get_the_ID(), 'rating', true)) { echo esc_html($rating); }
C. if (get_post_meta('rating')) { echo get_post_meta(get_the_ID(), 'rating'); }
D. echo get_post_meta(get_the_ID(), 'rating');

Solution

  1. Step 1: Retrieve 'rating' for current post with correct parameters

    Use get_post_meta(get_the_ID(), 'rating', true) to get a single value for the current post inside the Loop.
  2. Step 2: Check if value exists and sanitize before output

    Assign the value to a variable and check if it is truthy (not empty). Use esc_html() to safely display it.
  3. Step 3: Evaluate options

    if ($rating = get_post_meta(get_the_ID(), 'rating', true)) { echo esc_html($rating); } correctly does all steps. echo get_post_meta('rating', get_the_ID(), true); swaps parameters. if (get_post_meta('rating')) { echo get_post_meta(get_the_ID(), 'rating'); } uses wrong parameter order and no sanitization. echo get_post_meta(get_the_ID(), 'rating'); echoes without checking if value exists.
  4. Final Answer:

    if ($rating = get_post_meta(get_the_ID(), 'rating', true)) { echo esc_html($rating); } -> Option B
  5. Quick Check:

    Check existence + sanitize output = if ($rating = get_post_meta(get_the_ID(), 'rating', true)) { echo esc_html($rating); } [OK]
Hint: Assign and check value before echoing, sanitize output [OK]
Common Mistakes:
  • Swapping post ID and key parameters
  • Not checking if value exists before echo
  • Not sanitizing output before display
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