Vamos a actualizar nuestra Política de privacidad próximamente. Te recomendamos consultar el avance.

WordPress práctico: Creación básica de temas

Modificaciones sobre las páginas dependiendo de su contenido

¡Prueba gratis durante 10 días

nuestros 1290 cursos !

Prueba gratis Mostrar modalidades de suscripción
Vamos a dedicar este vídeo para hablar de las diferentes formas de abordar la personalización de las páginas en función de sus contenidos, cambiando sus plantillas y también usando funciones de WordPress para aplicar estilos a la etiqueta body.

Transcripción

En WordPress hay muchos casos en los que necesitaremos saber en qué página en concreto estamos. Quiero decir, hay muchos casos de personalización en los que nos interesa, por ejemplo, que todas las páginas en las que salga un listado, tengan aplicada una clase específica o que tengan una estructura dentro del header diferente a otras, que, por ejemplo, tengan una foto más o menos grande, o que aparezcan unos elementos u otros. Hay algunos casos en los que es muy fácil, porque tenemos una plantilla que se ocupa de hacerlo. Hay otros casos en los que la solución no es tan simple. Vamos a dedicar este vídeo a ver diferentes estrategias para conseguir cambiar elementos dependiendo de la página donde estamos, o dependiendo del tipo de página donde estamos. El primero de esos elementos puede ser, por ejemplo, el cabecero. Yo tengo un header aquí en la página principal que tiene el nombre de la página, pero cuando entro en cualquier página, vemos que de repente cambia, ¿eso a qué es debido? Si me voy al archivo single.php, por ejemplo, pues me encuentro con que realmente aquí solo tengo una función que me recupera el header, y si me voy a archive.php, pues veo que también solo tengo una función header, entonces ¿dónde está la diferencia? Bueno, pues hay algunos casos concretos en los que tenemos plantillas específicas para algunos elementos. En este caso, teníamos el header. Y dentro de ese header tiene que estar la solución a por qué en algunos casos se ve de una manera y en otros, de otra. Y, de hecho, según me voy moviendo por el código, veo que donde está el site-branding que es donde está el título y la frase que es el lema de la página, tengo la pregunta, tengo la condicional de si es front page o si es home, y solo en ese caso, aplica la etiqueta h1. Claro, eso explica el porqué solamente en la home se ve la h1 y, sin embargo, luego, en el resto de las páginas, aparece como una etiqueta p. Si yo lo que quiero es que siempre salga como home, tendré, entonces, que eliminar todo este código php, o sea, esta condicional, eliminar toda la parte de debajo y dejar que añada solamente ese page title. Me he pasado quitando cosas, eliminaré ese trozo, quitaré este if y dejaré el resto. Bueno, pues ahora cuando cargue esta página, ya aparece con el lema exactamente igual que teníamos en el resto de la web. Esta es una forma de conseguir personalizar dependiendo de dónde estoy, y es utilizar métodos concretos que sirven para ello, como is_home, por ejemplo, o is_front_page. Pero esta es una sola de las posibilidades, tenemos todavía muchas más opciones. Por ejemplo, para elementos internos de las páginas, yo puedo utilizar también condicionales que me recuperen si es un solo elemento o si son varios, como en este content, por ejemplo. Entonces, gracias a eso, puedo añadir unos contenidos u otros, o ,incluso, puedo a los métodos que se ocupan de devolverme contenidos como este de title, añadirle unas etiquetas u otras, como está sucediendo en este caso en concreto. Eso hace que cuando estoy en un contenido concreto, como es este, el rótulo aparece con un h1 y, sin embargo, cuando estoy en el listado aparece con un h2. Pero hay casos mucho más complicados, hay casos en los que quiero que el publicado tenga una forma diferente o que para un tipo de páginas en concreto pues haya un tipo de etiquetas que cambien, hay casos que no son tan claros. Y todavía, incluso, así vamos a poder hacer otra cosa, que es añadir clases a la etiqueta body y esas clases utilizarlas para que me cambie luego cualquier otro elemento que esté metido dentro del body. Como realmente el body envuelve todas las etiquetas del resto del tema, entonces, cuando aplico una clase en él, esa me va a servir luego para todo lo que yo quiera. Y ¿dónde se hace esto? Bueno, pues aquí en Underscores, dentro de la carpeta inc tengo extras.php. En extras.php estoy añadiendo un filtro, esto también es interesante. Consiste en generar una serie de clases específicas que se van a añadir a un elemento en concreto, entonces, en este caso, lo que he creado automáticamente es una función que recupera una serie de clases. Esas clases pueden ser modificadas, yo puedo añadir nuevas clases. Entonces, estoy preguntando "Si tengo muchos autores, añádeme a todas las clases, pues eso, group-blog." Si no es una página única, o sea, si es una página que en realidad va a estar en archive, no solo en él, si no también en search, por ejemplo, bien, pues entonces voy a añadir otra clase distinta, hfeed, por ejemplo, yo aquí podría añadir una más, podría añadir listado. Y una vez que he terminado esta clase, devuelve una serie de clases. Devuelve las que tenía más las nuevas que hemos añadido. Y luego, después teno el método add_filter. Este add_filter ¿qué es lo que está haciendo? Pues está aplicando a un tipo de clases concretas la función que yo quiera para añadir o eliminar clases de las que están llegando. En este caso, lo que voy a hacer es asignar a las clases del body las bodyclass, les voy a modificar a través de esta función, esa es la idea. Y para hacer esto, todavía queda una detalle más. Aquí tendré que venirme al header y dentro del header, en la parte superior, aquí en body, vemos que dentro de la etiqueta body, está añadiendo con php_bodyclass. Aquí podemos ver que tienen exactamente el mismo nombre las clases que yo tengo en bodyclass y esas clases, ya hemos visto que las hemos modificado previamente. Así es, entonces, que ahora cuando recarga esta página, en esta página en concreto que es un listado, bueno, pues puedo inspeccionar en cualquier punto y si me voy a la parte de arriba, aquí vemos todas las clases que se han añadido, home, blog, logged in, admin-bar, hfeed y, efectivamente, aparece esa clase listada. Y ahora, si lo quiero es hacer que para todos los listados, por ejemplo, pues estos articles aparezcan distinto, lo único que necesito es añadir el selector body.listado y luego espacio y luego el resto del selector para este tipo de elementos en concreto.

WordPress práctico: Creación básica de temas

Aprende a dar un nuevo aspecto a tu página de WordPress, creando un tema desde cero usando como base las plantillas Underscore y dándole aspecto a nuestro gusto.

4:16 horas (48 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:11/08/2017
Duración:4:16 horas (48 Videos)

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.