Basic structure

by Dawid Adach,

Final result preview
Live preview

    Basic structure.

    We will divide our site into three sections, header, main, and footer.

    Site divided into three sections
  1. Let's create 2 new files header.php and footer.php. index.php which we have created before will take care of main part. Now fill files with content as below:
  2. header.php
    <!DOCTYPE html>
    <html lang="en">
        <!-- Required meta tags always come first -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
            <?php bloginfo( 'name'); ?>
        <?php wp_head(); ?>
    <?php wp_footer(); ?>

    New functions

    We used 3 WordPress functions:
    bloginfo( 'name') - prints out our blog title.

    wp_head() - this function is a placeholder for custom code provided by different plugins. If the certain plugin requires some additional code in the header, it will add in this placement. This makes our template compatible with 3rd party plugins.

    wp_footer() - similar to wp_head(), this function makes our template compatible with plugins. Whenever certain plugin requires adding some code (usually java script) to our template, it will be added in the same place where we put wp_footer() function.

    In order to combine header.php and footer.php, we will use another two functions from WordpPress.

  3. Let's replace code from the previous lesson in index.php with following functions:
  4. index.php
    <?php get_header(); ?>
    <?php get_footer(); ?>

    Such a structure allows us to avoid duplication of code. WordPress supports multiple "post type" like post, page, gallery etc. Splitting header and footer apart from content save us a lot of code and time. Regardless of the "middle" part of the website, header and footer will always remain the same.

Lesson summary

We have created 2 new files, header.php and footer.php which are loaded on top and the end of the index.php respectively.

If something doesn’t work as expected, you can download a final code for this lesson here:

Previous lesson Download Live preview Next lesson

Do you want to share?

Facebook Twitter Google +

About author

Dawid Adach

For more than 5 years Dawid was working as an IT Consultant specializing in SOA/EAI/ESB for banking domain. He was gaining experience working in countries like Netherlands, Belgium, Poland and India developing enterprise-class systems for the biggest companies within a domain. Since 2 years as a co-founder of & is using and teaching others technologies like Angular, TypeScript, PHP, AJAX, Mongo, SQL, Hadoop Stack, Virtualization, Automation and many others...

Comments 1

Leave a reply

Join MDB Affiliate Program

Get 30% profit from each sale

You earn 30% commission on affiliate sales, when a product is bought by a customer you referred, you will receive a 30% share.

Join us