Un sitio web en WordPress te permite asignar distintas plantillas o diseños. A continuación un ejemplo de cómo puedes definir diferentes diseños para las entradas/posts de cada una de las categorías de tu sitio web.
Paso 1: Crear los archivos de diseño
En primer lugar, debes crear cada uno de los diferentes diseños que te gustaría utilizar. En este ejemplo, vamos a crear los archivos:
- single1.php
- single2.php
single1.php será utilizada para las entradas/posts pertenecientes a la categoría con ID 22, y single2.php para todas las entradas/posts de la categoría con ID 34.
Paso 2: Crear el diseño para todas las demás entradas/posts
También deberás crear el archivo: single_default.php, en este archivo incluye la plantilla o diseño que por defecto deberán tener todas las entradas/posts de tu sitio web en WordPress.
Paso 3: Especificar el diseño para cada categoría
Una vez que tengas los diseños listos en: single1.php y single2.php, introduce el siguiente código en el archivo single.php. Cuando se haga la llamada a single.php, observa que este código automáticamente incluirá el diseño personalizado basado en el ID de la categoría especificada. Si necesitas ayuda para obtener los ID’s de cada categoría, consulta esta entrada.
El código necesario que deberás incluir en single.php es:
David Gómez dice
Funciona perfecto, justo lo que necesitaba sin uso de plugins, directamente con un sencillp código. Muchas Gracias.
Estella Vidal dice
Un placer @David, éxito en tu proyecto 😉 !
Bebe dice
Quiero usar una plantilla para cada categoria y son unas 30 en total . Como se puede usar este codigo ? Me funciona algo pero los que no estan registradas usa la plantilla de index.php no la de single_default.php . No puedo hacer funcionar la ultima parte del codogo else.
Alguna idea ?
Webcreativahn dice
Ya no funciona porque templatepath a sido descontinuado pero aqui les dejo el que yo utilice que es identico, pero con otra funcion de WordPress.
post;
if (in_category(‘4’)) {
include get_template_directory() . ‘/single_recetas.php’;
} elseif (in_category(‘5’)) {
include get_template_directory() . ‘/single_turismo.php’;
} else {
include get_template_directory() . ‘/single_default.php’;
}
?>
Muchas gracias Mvkoen, pude solucionar una situacion con tu codigo.
Freddy dice
Gracias por el dato, sabia que de alguna manera era posible, me ha funcionado muy bien!
Saludos!