WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] Different <head> on specific page. (9 posts)

  1. trihedron
    Member
    Posted 6 years ago #

    I'm trying my own customized version of Google Maps to a "Locations" page I'm creating. Is there a way to make the header of a specific page different?

    I can't even seem to get the template hierarchy to work correctly. I have a template file called locations, for a page called locations, but it is still taking the template from page.php.

    Any ideas?

    Thanks.

  2. moshu
    Member
    Posted 6 years ago #

    Review the instructions about creating your own Page templates.

    Yes, you can have a different header - e.g. you can replace the WP-specific call get_header with an include line:
    <?php include(TEMPLATEPATH . "myheader.php"); ?>
    Change only your file name, don't touch the rest!

  3. trihedron
    Member
    Posted 6 years ago #

    Thank you that helps a lot.

    About the headers....How can I specify that if the page is "locations" use <head runthis()> rather than the normal <head>.

    My <head> is currently in header.asp. I just dont want a javascript error on all the pages that do not have a location map (only one page has the map on it.)

    Thanks for the great lead though, i finally understand how to do custom pages.

  4. moshu
    Member
    Posted 6 years ago #

    You understand (maybe) how to do custom Page templates :)

    No, you do NOT specify that a Page itself should use a certain header. You add the call for a specific header in a Page template and then you will select that template when creating your Page.

    I am not sure you can include .asp in a .php file... but I might be wrong. I just try to avoid M$ products on the web.

  5. trihedron
    Member
    Posted 6 years ago #

    ^ oh sorry.

    I've been developing with ASP pages for the longest time and now that I'm back with PHP my brain just automatically types things.

    I will give this a shot. I'm still a bit confused about it a little bit now. But I just need to re-read your message a bit more.

    Thanks again for the quick response.

  6. Samuel Wood (Otto)
    Tech Ninja
    Posted 6 years ago #

    Alternatively, you can use a conditional tag in your header.php file:
    http://codex.wordpress.org/Conditional_Tags#A_PAGE_Page

  7. trihedron
    Member
    Posted 6 years ago #

    Review the instructions about creating your own Page templates.

    Yes, you can have a different header - e.g. you can replace the WP-specific call get_header with an include line:
    <?php include(TEMPLATEPATH . "myheader.php"); ?>
    Change only your file name, don't touch the rest!

    Moshu,

    Thanks a bunch for your assistance. I have resolved my problem with your help.

    Here is my quick run through, just in case someone else may ever need an extra push in the right direction.

    I have a locations page that I wanted to add Google Maps, but since Google Maps requires you to call the onload="load()" onunload="GUnload()" code from the body tag, if you are using just one header.php on your site, the rest of the pages will throw javascript errors for not having the rest of the google code to display the map.

    I copied my header.php and renamed it to location_header.php, from there I removed the google map body tags from the normal header.php.

    I then created a custom page file locations_page.php based off of my old page.php, but this time changed the normal header call to:

    <?php
    /*
    Template Name: Locations Custom Page
    */
    ?>
    <?php include(TEMPLATEPATH . "\locations_header.php"); ?>

    --The first part just tells word press this is a custom page template, and the second part is the actual call to the new locations header inside my template path.

    Then from the post management screen (or the writing screen), a new section becomes available called "Page Template". I specified my new "Locations Custom Page" as the alternative template and I was set!

    Thanks again to moshu for the push in the right direction.

    Problem Solved.

  8. cobaltwolf
    Member
    Posted 6 years ago #

    OOT: just wanted to give trihedron a virtual Pat in the Back(TM) for actually taking the time and effort to describe the solution.

    It's really frustrating for me to search a forum only to find someone with a similar problem... who then answers his/her own topic two minutes later with a closing post that just says "Oh, nvm, found it. KTHNXBY." Arrgh! :)

    I always try to close my posts with the solution I found (unless the back-and-forth conversation with others on the topic is good enough to map the solution for anyone). You never know who might need that info later.

  9. Derek Perkins
    Member
    Posted 5 years ago #

    Here's a great link for loading the Google Maps API without having to tie into the header at all. You can just load it dynamically via Javascript.

    http://www.denodell.com/blog/loading-google-maps-ajax-api-on-demand-instead-of-on-page-load/

Topic Closed

This topic has been closed to new replies.

About this Topic