Enable page templates. How?

Basic question, but I want to enable page templates. I have one theme which has page templates enabled. I switched to another but there is no option to change the template, even when creating a new page. How do I switch this option on?
I’ve had a root around on the Codex and forum but can’t find it.

Related posts

Leave a Reply

4 comments

  1. Define your template name in the custom template file.

      <?php
    /*
    Template Name: demo
    */
    ?>
    

    After this the select template option will be available on the edit screen. You can choose the desired name you want.

  2. There is another reason why you may not see the Page Template dropdown fiels in your page editor. If you are creating a global page template (one that can be used for any page, you need to ensure that you do not name of your template file with the page- prefix, else WP interpret this as a special template for use on page slugs matching the rest of the name.

    From the page template codex:

    Important! Do not use page- as a prefix, as WordPress will interpret
    the file as a specialized template, meant to apply to only one page on
    your site.

    and finally make sure you insert the following comment at the top of the page:

    /* Template Name: Name-of-your-template */

  3. Allow page template support to you theme by adding this function in your functions.php file:

    function is_page_template( $template = '' ) {
        $page_template = get_page_template_slug( get_queried_object_id() );
    
        if ( empty( $template ) )
            return (bool) $page_template;
    
        if ( $template == $page_template )
            return true;
    
        if ( is_array( $template ) ) {
            if ( ( in_array( 'default', $template, true ) && ! $page_template )
                || in_array( $page_template, $template, true )
            ) {
                return true;
            }
        }
    
        return ( 'default' === $template && ! $page_template );
    }