Estoy trabajando en un complemento de WordPress que crea un tipo de publicación personalizada. Ese tipo de publicación personalizada necesitará su propia página single.php. Sé que puedo crear un archivo llamado single-{tipo de publicación personalizada}.php en mi tema, pero necesito que este archivo esté en el directorio del complemento. ¿Cómo hago para que WordPress reconozca que quiero usar single-posttype.php de mi directorio de complementos en lugar de mi directorio de temas?
Esto es lo que uso, simplemente reemplace dirname(__FILE__) .'/templates/
con cualquier estructura de directorio que tenga. Lo bueno de esto es que se establecerá de forma predeterminada en el archivo de tema adecuado si no tiene un archivo de “anulación” en el $file
ubicación.
add_filter( 'single_template', 'override_single_template' );
function override_single_template( $single_template ){
global $post;
$file = dirname(__FILE__) .'/templates/single-'. $post->post_type .'.php';
if( file_exists( $file ) ) $single_template = $file;
return $single_template;
}
Y, por supuesto, puedes hacer lo mismo con with
archive_template
y
$file = dirname(__FILE__) .'/templates/archive-'. $post->post_type .'.php';
-
Funciona de maravilla. ¡Gracias Señor!
– Dominick Allen
11 mayo 2018 a las 18:10
Creo que el suyo podría ayudarte. Echar un vistazo. wordpress.stackexchange.com/questions/96660/…
– Filcp
10 mayo 2018 a las 22:56