Is it possible to make a page template available to multiple or all themes without having to save the page template in every single theme folder?
Maybe something like:
themes/globalform.php
instead of doing this for each theme themes/twentyten/globalform.php
I believe you have to make a plugin for that. The following code is based on this answer: Is it possible to define a template for a custom post type within a plugin independent of the active theme?
/*
Plugin Name: Universal Template
Plugin URI: https://wordpress.stackexchange.com/questions/57211
Description: Uses a custom template in the plugin directory accordding to Conditional Tags (http://codex.wordpress.org/Conditional_Tags), maybe even other conditions
Version: 1.0
Author: brasofilo
Author URI: https://wordpress.stackexchange.com/users/12615
*/
class Universal_Template
{
public function __construct()
{
$this->url = plugins_url( '', __FILE__ );
$this->path = plugin_dir_path( __FILE__ );
add_action( 'init', array( $this, 'init' ) );
}
public function init()
{
add_filter( 'template_include', array( $this, 'wpse_57211_my_plugin_templates' ) );
}
public function wpse_57211_my_plugin_templates( $template )
{
$post_types = array( 'post' );
if ( is_post_type_archive( $post_types ) )
$template = $this->path . '/single-custom.php';
if ( is_singular( $post_types ) )
$template = $this->path . '/single-other-custom.php';
return $template;
}
}
$wpse_57211 = new Universal_Template();