Mike.Whitehead
Mike.Whitehead

Reputation: 818

Wordpress - template hierarchy for custom page not working

I'm building a Wordpress site using html5blank as a parent theme for the first time. I have my main pages set up and working using page-slug.php naming convention and all works fine. A couple of these pages require sub-pages but for some reason I cannot get these to work. Example -

On of my main pages is titled 'Agency' and within the agency page I have a number of images which act as links to a number (7) of sub-pages -

Agency - sub page

I've set the first image up with the correct link and page parent/child as so -

page-agency.php

<div class="row">
     <div class="twelve columns agencyproducts">
         <p>WHAT PRODUCT ARE YOU INTERESTED IN?</p>
         <a href="http://localhost:8888/agency/2k4k-production/"><figure>
         <img src="http://localhost:8888/wp-content/uploads/2017/07/production.png" alt="Production">
         <figcaption>2K / 4K PRODUCTION</figcaption>
                    </figure></a>

I've saved the sub-page file as page-agency-2k4kproduction.php in the theme file like the other pages. When I click on the link I get the page.php file showing with my header and form templates but not the sub-page code. Here's what I have in the page.php -

page.php

<?php get_header(); ?>
       <?php get_template_part('form'); ?>

<?php the_content(); ?>
<?php get_sidebar(); ?>

<?php get_footer(); ?>

In my 2k4kproduction.php file I have this -

page-agency-2k4kproduction.php

<?php get_header(); ?>

    <!-- custom code -->

           <?php get_template_part('form'); ?>


    <?php the_content(); ?>

    <?php get_sidebar(); ?>

    <?php get_footer(); ?>

Am I missing some steps in the hierarchy process?

I can't figure out why the main pages all work seamlessly but the sub-pages don't. I'v tried other permitations - page-2k4kproduction.php, 2k4kproduction.php, page-8.php and they don't work either.

Do I have to save sub-page files in a different file to the main page file?

Does the page order in in the admin make a difference? FWIW I've placed the sub page as next in line to the last main page (8) rather than start a new number order for sub pages.

Really stumped on this one, I'm sure its something quite obvious but I just can't spot it.

Upvotes: 0

Views: 1353

Answers (1)

Noman
Noman

Reputation: 4116

WordPress template hierarchy works perfect with page-$slug.php i don't know what could be the reason may be 2k4kproduction slug issue.

it's better to use page-template instead page-slug workaround because if the slug change it won't show your page. go through this tutorial for custom page template.

template-2k4kproduction.php

<?php /* Template Name: 2k4k Production */ ?>
<?php get_header(); ?>

<!-- custom code -->
<?php get_template_part('form'); ?>
<!-- custom code -->

<?php the_content(); ?>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Page attributes with custom template

Upvotes: 1

Related Questions