Bird
Raised Fist0
Wordpressframework~20 mins

Query parameters in Wordpress - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Query Parameters Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
How does WP_Query handle multiple query parameters?
Consider the following WP_Query arguments:
array('post_type' => 'post', 'category_name' => 'news', 'posts_per_page' => 5)

What will be the result of this query?
AReturns posts of any type limited to 5 posts.
BReturns 5 posts from all categories ignoring 'category_name'.
CReturns the latest 5 posts from the 'news' category only.
DReturns all posts from the 'news' category ignoring 'posts_per_page'.
Attempts:
2 left
💡 Hint
Think about how WP_Query filters posts by category and limits the number of posts.
📝 Syntax
intermediate
2:00remaining
Identify the correct syntax for querying posts by meta key and value
Which of the following WP_Query arguments correctly queries posts where the meta key 'color' equals 'blue'?
Aarray('meta_query' => array('color' => 'blue'))
Barray('meta_key' => 'color', 'meta_compare' => '=', 'meta_value' => 'blue')
Carray('meta_key' => 'color', 'meta_value' => 'blue')
Darray('meta_query' => array(array('key' => 'color', 'value' => 'blue')))
Attempts:
2 left
💡 Hint
WP_Query uses 'meta_query' as an array of conditions for meta filtering.
🔧 Debug
advanced
2:00remaining
Why does this WP_Query return no posts?
Given this code:
$args = array('post_type' => 'product', 'category_name' => 'electronics');
$query = new WP_Query($args);

Why might this query return no posts even if products exist in the 'electronics' category?
ABecause 'post_type' should be 'products' plural to match the taxonomy.
BBecause 'category_name' only works with the 'post' post type, not 'product'.
CBecause 'category_name' requires a taxonomy parameter to be set explicitly.
DBecause WP_Query does not support filtering by category.
Attempts:
2 left
💡 Hint
Think about default taxonomies and custom post types.
🧠 Conceptual
advanced
2:00remaining
How does 'paged' parameter affect WP_Query results?
If you set 'posts_per_page' to 3 and 'paged' to 2 in WP_Query arguments, what will the query return?
AThe first 3 posts from the second page of results (posts 4 to 6).
BThe first 6 posts from the first page.
CAll posts ignoring pagination.
DAn error because 'paged' cannot be used with 'posts_per_page'.
Attempts:
2 left
💡 Hint
Consider how pagination works in WordPress queries.
❓ state_output
expert
2:00remaining
What is the value of $query->found_posts after this WP_Query?
Given the code:
$args = array('post_type' => 'post', 'posts_per_page' => 2, 'category_name' => 'news');
$query = new WP_Query($args);
echo $query->found_posts;

Assuming there are 7 posts in the 'news' category, what will be output?
A7
B2
C5
D0
Attempts:
2 left
💡 Hint
Look up what 'found_posts' property represents in WP_Query.

Practice

(1/5)
1. What is the main purpose of query parameters in WordPress when used with WP_Query?
easy
A. To create new user accounts automatically
B. To change the WordPress theme dynamically
C. To add custom CSS styles to posts
D. To filter and retrieve specific posts based on conditions like category or author

Solution

  1. Step 1: Understand the role of query parameters

    Query parameters are used to specify conditions for retrieving posts, such as filtering by category or author.
  2. Step 2: Identify the correct purpose in WordPress context

    They do not change themes, add styles, or create users; they filter content queries.
  3. Final Answer:

    To filter and retrieve specific posts based on conditions like category or author -> Option D
  4. Quick Check:

    Query parameters filter posts = D [OK]
Hint: Query parameters filter posts by conditions like category or author [OK]
Common Mistakes:
  • Thinking query parameters change themes
  • Confusing query parameters with styling or user management
  • Assuming query parameters create new content
2. Which of the following is the correct way to query posts from category with ID 5 using WP_Query?
easy
A. $query = new WP_Query(array('category' => 5));
B. $query = new WP_Query(array('cat' => 5));
C. $query = new WP_Query(array('category_name' => 5));
D. $query = new WP_Query(array('category_id' => 5));

Solution

  1. Step 1: Recall correct parameter for category ID

    The correct parameter to filter by category ID is 'cat', not 'category', 'category_name', or 'category_id'.
  2. Step 2: Verify syntax correctness

    $query = new WP_Query(array('cat' => 5)); uses 'cat' with the ID 5 correctly in an array for WP_Query.
  3. Final Answer:

    $query = new WP_Query(array('cat' => 5)); -> Option B
  4. Quick Check:

    Category ID filter uses 'cat' = C [OK]
Hint: Use 'cat' key for category ID in WP_Query parameters [OK]
Common Mistakes:
  • Using 'category' instead of 'cat' for category ID
  • Passing category ID as 'category_name'
  • Using 'category_id' which is invalid
3. What will be the result of this code snippet?
$args = array('author' => 3, 'posts_per_page' => 2);
$query = new WP_Query($args);
while ($query->have_posts()) {
$query->the_post();
echo get_the_title() . ', ';
}
medium
A. It will display the titles of the latest 2 posts by author with ID 3
B. It will display all posts by author with ID 3
C. It will cause a syntax error because 'author' is invalid
D. It will display 2 posts from any author

Solution

  1. Step 1: Analyze query parameters

    'author' => 3 filters posts by author ID 3, 'posts_per_page' => 2 limits results to 2 posts.
  2. Step 2: Understand loop output

    The loop outputs the titles of these posts separated by commas.
  3. Final Answer:

    It will display the titles of the latest 2 posts by author with ID 3 -> Option A
  4. Quick Check:

    Author filter + limit 2 posts = B [OK]
Hint: Author ID filters posts; posts_per_page limits number shown [OK]
Common Mistakes:
  • Assuming 'author' is invalid parameter
  • Thinking it shows all posts by author ignoring limit
  • Believing it shows posts from any author
4. Identify the error in this query parameter usage:
$args = array('category' => 'news', 'posts_per_page' => 5);
$query = new WP_Query($args);
medium
A. 'category' should be 'category_name' to filter by category slug
B. 'posts_per_page' must be a string, not a number
C. 'category' should be 'cat' with category slug
D. No error, this code works correctly

Solution

  1. Step 1: Check parameter for category slug

    To filter by category slug (like 'news'), the correct parameter is 'category_name', not 'category'.
  2. Step 2: Validate other parameters

    'posts_per_page' accepts a number, so that part is correct.
  3. Final Answer:

    'category' should be 'category_name' to filter by category slug -> Option A
  4. Quick Check:

    Category slug filter uses 'category_name' = A [OK]
Hint: Use 'category_name' for slug, 'cat' for ID in queries [OK]
Common Mistakes:
  • Using 'category' instead of 'category_name' for slug
  • Thinking 'posts_per_page' must be string
  • Confusing 'cat' with slug instead of ID
5. You want to display posts that belong to category ID 4 or category ID 7 using WP_Query. Which query parameter array will correctly achieve this?
hard
A. array('category_name' => '4,7')
B. array('cat' => '4,7')
C. array('category__in' => array(4, 7))
D. array('cat' => array(4, 7))

Solution

  1. Step 1: Understand how to query multiple categories

    To query posts in multiple categories by ID, use 'category__in' with an array of IDs.
  2. Step 2: Evaluate each option

    array('cat' => '4,7') uses a string with comma which is invalid for 'cat'. array('category_name' => '4,7') uses 'category_name' with numbers which expects slugs. array('cat' => array(4, 7)) uses 'cat' with an array which is invalid.
  3. Final Answer:

    array('category__in' => array(4, 7)) -> Option C
  4. Quick Check:

    Multiple category IDs use 'category__in' with array = A [OK]
Hint: Use 'category__in' with array for multiple category IDs [OK]
Common Mistakes:
  • Passing multiple IDs as comma string to 'cat'
  • Using 'category_name' with numeric IDs
  • Passing array to 'cat' which expects single ID
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