Custom Post Template

Custom Post Template Install Statistics

11
100%
Today: 11 Yesterday: 0 All-time: 242,671 downloads
Custom Post Template Icon

Try plugin: Custom Post Template

We'll create fresh WordPress site with Custom Post Template installed. You have 20 minutes to test the plugin after that site we'll be deleted.

Takes ~10 seconds to install.

About Custom Post Template

Provides a drop-down to select different templates for posts from the post edit screen. The templates replace single.php for the specified post.

39


2


0


1


1

updated: 12 years ago
since: 15 years ago
author: Simon Wheatley

Description

Provides a drop-down to select different templates for posts from the post edit screen. The templates are defined similarly to page templates, and will replace single.php for the specified post. This plugin will NOT switch the templates for the different posts in a listing page, e.g. a date or category archive, it will only affect the template used for single posts (i.e. you can choose a template which is not single.php).

Post templates, as far as this plugin is concerned, are configured similarly to page templates in that they have a particular style of PHP comment at the top of them. Each post template must contain the following, or similar, at the top:

<?php
/*
Template Name Posts: Snarfer
*/
?>

First note: Page templates use “Template Name:“, whereas post templates use “Template Name Posts:“.

Second note: You must have the custom post template files in your theme in the same directory/folder as your index.php template file, not in a sub-directory/sub-folder.

Developers

If you want to implement the custom post templates on a custom post type, you can use the cpt_post_types filter, here’s an example below of adding the custom post template selector and metabox to the “Movie” and “Actor” custom post types. This code can be added to a plugin or to the functions.php file in your theme.

/**
 * Hooks the WP cpt_post_types filter 
 *
 * @param array $post_types An array of post type names that the templates be used by
 * @return array The array of post type names that the templates be used by
 **/
function my_cpt_post_types( $post_types ) {
    $post_types[] = 'movie';
    $post_types[] = 'actor';
    return $post_types;
}
add_filter( 'cpt_post_types', 'my_cpt_post_types' );