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.
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.
First take a look at this page template (only an example)
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 fromtemplate
combo box (located at the right side in the page attribute meta box) when you are creating a new page fromadmin->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 theheader.php
and that header have to be available with nameheader-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.