Bird
Raised Fist0
Wordpressframework~10 mins

Header and footer customization in Wordpress - Interactive Code Practice

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 include the header template in a WordPress theme.

Wordpress
<?php [1]('header'); ?>
Drag options to blanks, or click blank then click option'
Aget_header
Binclude_header
Cload_header
Dheader_include
Attempts:
3 left
💡 Hint
Common Mistakes
Using PHP include instead of get_header()
Misspelling the function name
2fill in blank
medium

Complete the code to include the footer template in a WordPress theme.

Wordpress
<?php [1]('footer'); ?>
Drag options to blanks, or click blank then click option'
Aload_footer
Bget_footer
Cinclude_footer
Dfooter_load
Attempts:
3 left
💡 Hint
Common Mistakes
Using include or load functions instead of get_footer()
Typo in function name
3fill in blank
hard

Fix the error in the code to properly enqueue a custom stylesheet for the header.

Wordpress
function theme_styles() {
    wp_enqueue_style('custom-header', get_template_directory_uri() . '/css/[1]');
}
add_action('wp_enqueue_scripts', 'theme_styles');
Drag options to blanks, or click blank then click option'
Aheader_style.css
Bheaderstyle.css
Cheader-style.css
Dheaderstyle
Attempts:
3 left
💡 Hint
Common Mistakes
Omitting the .css extension
Using underscores instead of hyphens if file name differs
4fill in blank
hard

Fill both blanks to register and enqueue a custom footer script in WordPress.

Wordpress
function add_footer_script() {
    wp_register_script('footer-script', get_template_directory_uri() . '/js/[1]', array(), null, [2]);
    wp_enqueue_script('footer-script');
}
add_action('wp_enqueue_scripts', 'add_footer_script');
Drag options to blanks, or click blank then click option'
Afooter.js
Btrue
Cfalse
Dfooter-script.js
Attempts:
3 left
💡 Hint
Common Mistakes
Using false instead of true for footer loading
Wrong file name or missing extension
5fill in blank
hard

Fill all three blanks to create a custom header template part and include it in the theme.

Wordpress
<?php
// In functions.php
function register_custom_header() {
    register_nav_menus(array(
        '[1]' => __('[2]', 'theme-textdomain'),
    ));
}
add_action('init', 'register_custom_header');

// In header.php
wp_nav_menu(array('theme_location' => '[3]'));
?>
Drag options to blanks, or click blank then click option'
Aheader-menu
BHeader Menu
Dfooter-menu
Attempts:
3 left
💡 Hint
Common Mistakes
Mismatch between menu slug and theme_location
Using footer-menu instead of header-menu

Practice

(1/5)
1. What is the main purpose of using get_header() and get_footer() functions in a WordPress theme?
easy
A. To delete the header and footer sections from a page
B. To add custom CSS styles to the header and footer
C. To register new header and footer menus
D. To include the header and footer template files in a theme's page

Solution

  1. Step 1: Understand the role of get_header() and get_footer()

    These functions load the header.php and footer.php template files into the current page template.
  2. Step 2: Identify their purpose in theme structure

    They help keep the header and footer code separate and reusable across pages.
  3. Final Answer:

    To include the header and footer template files in a theme's page -> Option D
  4. Quick Check:

    Include header/footer = A [OK]
Hint: Remember: get_header() loads header.php, get_footer() loads footer.php [OK]
Common Mistakes:
  • Thinking these functions add CSS styles
  • Confusing with menu registration functions
  • Assuming they remove sections instead of adding
2. Which of the following is the correct way to include a custom header file named header-special.php in a WordPress theme template?
easy
A. include('header-special.php');
B. get_header('special');
C. get_template_part('header-special');
D. load_header('special');

Solution

  1. Step 1: Recall how to load custom header files

    WordPress uses get_header('name') to load header-name.php.
  2. Step 2: Match the function to the file name

    For header-special.php, call get_header('special').
  3. Final Answer:

    get_header('special'); -> Option B
  4. Quick Check:

    Custom header call = B [OK]
Hint: Use get_header('name') to load header-name.php files [OK]
Common Mistakes:
  • Using include() instead of get_header()
  • Confusing get_template_part() with get_header()
  • Using non-existent functions like load_header()
3. Consider this WordPress theme template snippet:
<?php get_header(); ?>
<main>Content here</main>
<?php get_footer(); ?>

What will be the output on the webpage if header.php contains a <header> with "Welcome" text and footer.php contains a <footer> with "Goodbye" text?
medium
A. The page will show an error because get_header() and get_footer() need parameters
B. Only the main content will show, header and footer are ignored
C. The page will show a header with "Welcome", main content, and a footer with "Goodbye"
D. The page will show "Welcome" and "Goodbye" but no main content

Solution

  1. Step 1: Understand what get_header() and get_footer() do

    They insert the contents of header.php and footer.php respectively into the page.
  2. Step 2: Combine the template parts

    The page will display the header content "Welcome", then the main content, then the footer content "Goodbye".
  3. Final Answer:

    The page will show a header with "Welcome", main content, and a footer with "Goodbye" -> Option C
  4. Quick Check:

    Header + main + footer = D [OK]
Hint: get_header() and get_footer() add their files' content around main [OK]
Common Mistakes:
  • Thinking main content is replaced or ignored
  • Assuming parameters are required for these functions
  • Expecting an error without parameters
4. You added get_footer('custom'); in your theme template, but the footer does not appear and the page shows an error. What is the most likely cause?
medium
A. The file footer-custom.php does not exist in the theme folder
B. You must use get_footer() without parameters always
C. The function get_footer() cannot load custom footers
D. You need to register the custom footer in functions.php first

Solution

  1. Step 1: Understand how get_footer('name') works

    It tries to load footer-name.php from the theme folder.
  2. Step 2: Identify the cause of error

    If footer-custom.php is missing, WordPress cannot find the file and throws an error.
  3. Final Answer:

    The file footer-custom.php does not exist in the theme folder -> Option A
  4. Quick Check:

    Missing footer-custom.php = A [OK]
Hint: Check if footer-custom.php file exists before calling get_footer('custom') [OK]
Common Mistakes:
  • Thinking parameters are not allowed in get_footer()
  • Assuming registration is needed for custom footers
  • Ignoring missing file errors
5. You want to create a WordPress theme where the header shows a different logo on the homepage and another logo on all other pages. Which is the best way to customize the header for this?
hard
A. Create two header files: header-home.php and header.php, then use get_header() or get_header('home') conditionally
B. Add both logos in header.php and use CSS to hide/show based on page
C. Use JavaScript to swap logos after the page loads
D. Create a footer file with the logos and include it instead of header

Solution

  1. Step 1: Understand conditional header loading

    WordPress allows loading different header files using get_header('name').
  2. Step 2: Apply conditional logic in template

    Use PHP to check if it is the homepage, then call get_header('home'), else get_header().
  3. Step 3: Organize header files

    Create header-home.php with the homepage logo and header.php with the default logo.
  4. Final Answer:

    Create two header files: header-home.php and header.php, then use get_header() or get_header('home') conditionally -> Option A
  5. Quick Check:

    Conditional header files = C [OK]
Hint: Use get_header('home') for homepage, get_header() for others [OK]
Common Mistakes:
  • Trying to swap logos only with CSS or JavaScript
  • Putting logos in footer instead of header
  • Not using conditional PHP logic for headers