Bird
Raised Fist0
Wordpressframework~20 mins

Responsive theme patterns in Wordpress - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Responsive Theme Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
How does the WordPress theme handle responsive images?
Given a WordPress theme using add_theme_support('responsive-embeds') and add_theme_support('post-thumbnails'), what is the expected behavior when displaying images in posts on different screen sizes?
AImages are replaced by low-resolution placeholders on mobile devices only.
BImages remain fixed size and may overflow the container on small screens.
CImages automatically scale to fit the container width, maintaining aspect ratio on all devices.
DImages are hidden on screens smaller than 600px width.
Attempts:
2 left
💡 Hint
Think about how WordPress handles image sizes and container widths with responsive support enabled.
📝 Syntax
intermediate
1:30remaining
Identify the correct CSS media query for mobile-first responsive design
Which CSS media query correctly applies styles only on screens wider than 768px, following mobile-first principles?
A@media only screen and (max-device-width: 768px) { /* styles here */ }
B@media (min-width: 768px) { /* styles here */ }
C@media screen and (width: 768px) { /* styles here */ }
D@media (max-width: 768px) { /* styles here */ }
Attempts:
2 left
💡 Hint
Mobile-first means starting with small screens and adding styles for larger screens.
🔧 Debug
advanced
2:30remaining
Why does the WordPress theme's navigation menu not collapse on small screens?
A WordPress theme uses a responsive navigation menu with a toggle button. On small screens, the menu stays expanded and the toggle button does not work. What is the most likely cause?
AThe JavaScript file controlling the toggle is not enqueued or has a syntax error.
BThe CSS media queries are missing the max-width condition for small screens.
CThe menu HTML lacks the required ARIA attributes for accessibility.
DThe theme does not declare support for responsive menus in functions.php.
Attempts:
2 left
💡 Hint
Check if the toggle button triggers any JavaScript and if the script is loaded correctly.
❓ state_output
advanced
2:30remaining
What is the output of this WordPress theme function for responsive image sizes?
Consider this PHP code in a WordPress theme's functions.php:
function mytheme_setup() {
  add_theme_support('post-thumbnails');
  add_image_size('custom-size', 600, 400, true);
}
add_action('after_setup_theme', 'mytheme_setup');

// Later in template:
echo wp_get_attachment_image($attachment_id, 'custom-size');

What will be the size of the image rendered on a mobile device with a 320px wide screen?
Wordpress
function mytheme_setup() {
  add_theme_support('post-thumbnails');
  add_image_size('custom-size', 600, 400, true);
}
add_action('after_setup_theme', 'mytheme_setup');

// Later in template:
echo wp_get_attachment_image($attachment_id, 'custom-size');
AThe image will scale down responsively to fit the screen width, keeping aspect ratio.
BThe image will be cropped to 320x400 pixels on mobile devices.
CThe image will not display because 'custom-size' is not a default size.
DThe image will be 600x400 pixels regardless of screen size.
Attempts:
2 left
💡 Hint
Think about how WordPress image sizes and HTML image tags behave by default.
🧠 Conceptual
expert
3:00remaining
Which WordPress feature best supports responsive theme patterns for dynamic content?
You want your WordPress theme to automatically serve different image sizes and embed content responsively without extra coding. Which built-in WordPress feature is designed specifically for this?
AThe Responsive Images feature using srcset and sizes attributes.
BThe Customizer API for live previewing theme changes.
CThe REST API for fetching content asynchronously.
DThe Widget API for adding sidebar content.
Attempts:
2 left
💡 Hint
Focus on how WordPress handles images and embeds responsively by default.

Practice

(1/5)
1. What is the main purpose of using responsive theme patterns in WordPress?
easy
A. To add more plugins to the website
B. To make the website look good on all device sizes
C. To increase the website loading speed only on desktops
D. To change the website's language automatically

Solution

  1. Step 1: Understand responsive design goal

    Responsive themes adjust layout and style to fit different screen sizes like phones, tablets, and desktops.
  2. Step 2: Identify the correct purpose

    The main goal is to ensure the website looks good and works well on all devices, not just desktops or adding plugins.
  3. Final Answer:

    To make the website look good on all device sizes -> Option B
  4. Quick Check:

    Responsive design = look good on all devices [OK]
Hint: Responsive means adapting to all screen sizes [OK]
Common Mistakes:
  • Thinking responsive only speeds up desktop loading
  • Confusing responsive with adding plugins
  • Assuming it changes website language automatically
2. Which CSS syntax correctly applies styles only when the screen width is 600px or less?
easy
A. @media screen and (max-height: 600px) { /* styles here */ }
B. @media screen and (min-width: 600px) { /* styles here */ }
C. @media screen and (max-width: 600px) { /* styles here */ }
D. @media (width: 600px) { /* styles here */ }

Solution

  1. Step 1: Understand max-width media query

    The max-width condition applies styles when the screen width is less than or equal to the given value.
  2. Step 2: Identify correct syntax

    @media screen and (max-width: 600px) { /* styles here */ } uses max-width: 600px, which targets screens 600px wide or smaller. Other options either use min-width, height, or incorrect syntax.
  3. Final Answer:

    @media screen and (max-width: 600px) { /* styles here */ } -> Option C
  4. Quick Check:

    max-width 600px = styles for small screens [OK]
Hint: max-width targets screens up to that width [OK]
Common Mistakes:
  • Using min-width instead of max-width for small screens
  • Confusing width with height in media queries
  • Omitting 'screen' keyword or using wrong syntax
3. Given this CSS snippet in a WordPress theme:
@media (max-width: 768px) { body { background-color: lightblue; } }

What will happen when you view the site on a tablet with 700px width?
medium
A. The background color will be lightblue
B. The background color will not change
C. The background color will be lightblue only on desktop
D. The CSS will cause an error and not apply

Solution

  1. Step 1: Check screen width against max-width

    The media query applies styles when screen width is 768px or less. 700px is less than 768px, so styles apply.
  2. Step 2: Determine effect on background color

    The body background color changes to lightblue on screens 768px wide or smaller, including the 700px tablet.
  3. Final Answer:

    The background color will be lightblue -> Option A
  4. Quick Check:

    700px <= 768px means styles apply [OK]
Hint: Check if device width fits max-width condition [OK]
Common Mistakes:
  • Thinking styles apply only on desktop
  • Assuming CSS causes errors on media queries
  • Ignoring the max-width condition logic
4. You wrote this CSS in your WordPress theme:
@media screen and (max-width 600px) { .menu { display: none; } }

Why is the menu still visible on small screens?
medium
A. Missing colon ':' after max-width in media query
B. The .menu class does not exist in HTML
C. display: none; is not valid CSS
D. Media queries do not work in WordPress themes

Solution

  1. Step 1: Check media query syntax

    The media query is missing a colon ':' after max-width, which is required for valid syntax.
  2. Step 2: Understand effect of syntax error

    Because of the missing colon, the media query is ignored, so the .menu styles inside it do not apply.
  3. Final Answer:

    Missing colon ':' after max-width in media query -> Option A
  4. Quick Check:

    Correct media query syntax requires ':' [OK]
Hint: Check colons in media query conditions [OK]
Common Mistakes:
  • Forgetting colon after max-width
  • Assuming display:none is invalid
  • Thinking WordPress disables media queries
5. You want your WordPress theme to show a two-column layout on screens wider than 900px and a single column on smaller screens. Which CSS pattern achieves this best?
hard
A. .container { display: block; }
B. @media (max-width: 900px) { .container { display: grid; grid-template-columns: 1fr 1fr; } } @media (min-width: 901px) { .container { display: block; } }
C. .container { display: grid; grid-template-columns: 1fr 1fr; }
D. @media (min-width: 901px) { .container { display: grid; grid-template-columns: 1fr 1fr; } } @media (max-width: 900px) { .container { display: block; } }

Solution

  1. Step 1: Define layout for wide screens

    Use min-width: 901px media query to apply two-column grid layout for screens wider than 900px.
  2. Step 2: Define layout for smaller screens

    Use max-width: 900px media query to apply single column block layout for smaller screens.
  3. Step 3: Verify option correctness

    @media (min-width: 901px) { .container { display: grid; grid-template-columns: 1fr 1fr; } } @media (max-width: 900px) { .container { display: block; } } correctly sets two-column grid for wide screens and single column for smaller. @media (max-width: 900px) { .container { display: grid; grid-template-columns: 1fr 1fr; } } @media (min-width: 901px) { .container { display: block; } } reverses conditions. The other options do not use media queries.
  4. Final Answer:

    @media (min-width: 901px) { .container { display: grid; grid-template-columns: 1fr 1fr; } } @media (max-width: 900px) { .container { display: block; } } -> Option D
  5. Quick Check:

    min-width for wide, max-width for small screens [OK]
Hint: Use min-width for wide, max-width for narrow layouts [OK]
Common Mistakes:
  • Reversing min-width and max-width conditions
  • Not using media queries for responsive layout
  • Applying same layout for all screen sizes
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