Una funzione veloce in PHP da inserire da un plugin, nell’elenco dei modelli un nuovo template
# Per caricare un templare nell'elenco dei modelli
function page_templates( $templates , $theme, $post ) {
$templates[ dirname( __FILE__ ) . '/templates/miofile.php' ] = 'Mio nuovo Template';
return $templates;
}
add_filter( 'theme_page_templates', 'page_templates', 10, 3 );
//Se nel post è impostato con il nuovo templare lo carico
add_filter( 'template_include', 'pluginname_load_template', 99 );
function pluginname_load_template( $template ) {
global $post;
$custom_template_slug = dirname( __FILE__ ) . '/templates/pwa.php';
$page_template_slug = get_page_template_slug( $post->ID );
if( $page_template_slug == $custom_template_slug ){
return dirname( __FILE__ ) . '/templates/miofile.php';
}
return $template;
}
Se invece vogliamo che in automatico sia applicato anche a una determinata pagina, basta modificare la condizione del IF cosi:
if( $page_template_slug == $custom_template_slug || $post->post_name == 'slug_pagina' ){