custom pages and page templates wordpress

im using wordpress as a CMS for my personal portfolio website. i want to be able to create different pages that have slightly different variations of the header etc.

after looking around i realised that i can use pages.php and template pages however i do not understand how they work.

Read More

for instance currently i made a contact page via creating a new page on the dashboard and doing the html there. i took the permalink and put it inside an ‘a’ tag that sits in my header. this then goes to that page fine but i want my header to be different.

i guess basically i am confused because the instructions i have looked at do not explain how the page is displayed.
in a page template do i do this?

<?php
/*
Template Name: [your page name here]
*/
?>
<?php include(“header_new.php”); ?>

<?php get_footer(); ?>

but what confuses me is how does wordpress know were to put the page?? obviouslly for the index you do a post loop. but all i want is my page to be displayed.

am i missing something like this?…

<?php
/*
Template Name: [your page name here]
*/
?>
<?php include(“header_new.php”); ?>
// POST PAGE FUNCTION HERE>>>>????
<?php get_footer(); ?>

my current theme can be viewed here

hope this is not something obvious that i have missed. many thanks for taking the time to help.

Related posts

Leave a Reply

1 comment

  1. First take a look at this page template (only an example)

    <?php
    /*
    Template Name: Contact Page
    */
    ?>
    <?php get_header('contact'); ?>
    
        <div id="post-wrap" class="full-width-wrap">
            <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
            <h1 class="page-title"><?php the_title(); ?></h1>           
            <?php the_content(); ?>
            <?php endwhile; ?>
            <?php endif; ?> 
        </div>
    
    <?php get_footer(); ?>
    

    If you save above code in a file and name it page-contactpage.php and keep/save it inside your theme’s root folder (where index.php is) then it’ll be one of your template and you can select this template from template combo box (located at the right side in the page attribute meta box) when you are creating a new page from admin->Add New Page. If you create a page with this template then your page will use this template instead of the default page template.

    Notice the line get_header('contact'); that is a different header I’ve used instead of the header.php and that header have to be available with name header-contact.php (may be with different content) in the same folder. Now your contact page will use this template with a different header if you select this template when creating it.