 Bueno, pues este mes vamos a continuar con lo que hicimos el mes pasado. Si os acordáis, los que estuvisteis, hicimos un trailer, pero un plugin. Hoy vamos a ver la otra parte, que es crear un tema ISO para ampliar las funcionalidades de nuestra web. Nosotros tenemos aquí instalado en local una versión 641, la misma que tenemos el otro día, y se podríamos trabajar. ¿Qué tiene el tema por defecto en 2024? Es el tema nuevo que está diseñado para la nueva versión de Wordpress, que vamos a acompañar a todo el año que viene, hasta finales de año, y que es bastante sencillo y bastante rápido. Ahora mismo valento, porque estoy en local, está en zoom, hay un montón de cosas emocionales. Vamos a empezar, aquí lo veis, que es la imagen de portada, vamos a empezar a ver un poquito lo que es el código de un tema. Cuando estamos en el valor de directorios, esto es un poquito pequeño, dentro de content tenemos casi todo el contenido. Aquí tenemos los plugins, aquí colocamos nuestro conversor el último día, y tenemos una carpeta de temas. Aquí tenemos varios que nos olviden instalados por defecto, normalmente desistalamos todos, no sé que estamos utilizados. En este caso tenemos 2024, y tiene una serie de fichetos, que son importantes. Este de aquí es obligatorio para subirlo al repositorio. Cuando subimos un tema repositorio, o un plugin tiene que tener un Rhythmic, que indique quién lo ha hecho, en qué versión está aprobado, versiones mínimas que requieren para funcionar, una pequeña descripción, Copyright se aplica, y las imágenes que queremos que aparezcan, en ese carrusel que tiene tanto los temas como los planos. Estas imágenes son opcionales, este Copyright es opcional porque si no utilizamos la licencia Creative Commons, que es la habitual para todo WordPress, y lo que es obligatorio es indicar la cabecera. Cuando creamos un tema hijo, también tenemos que poner un poquito esta información para que se pueda identificar. Este bloque de contenido que tenemos aquí sirve para el repositorio, pero también lo tenemos en otro fichero que es este de aquí. El fichero de estilos, aunque no tenga ningún contenido adicional, debe tener obligatoriamente la identificación del tema. En este caso, el nombre del tema, una horle de escarra que es opcional, quien es el autor que también es opcional, la hori del autor que es opcional, una descripción que es obligatorio que aparezca, pero puede ser un espacio en blanco, y las versiones que utilizan. Estas dos son obligatorias, también es obligatorio el número de versión. No es obligatorio que indiquemos qué PHP requiere, porque si no indicamos ninguno, se asume que es el más bajo que admite la versión de WordPress que sigimos. Licencia si tuviese, la horibilidad de licencia, y un espacio de nombres, que es el espacio de nombres. Es la identificación única del elemento dentro del repositorio de WordPress. Muchas veces cuando trabajamos con plugins hechos a medida, no sé si os ha pasado a vosotros, si no ha ocurrido en algún caso, dos plugins chocan, porque utilizan la misma variable. Variables generales como email las tenemos en todos los repositorios, prácticamente. Casi cualquier plugin utiliza un email para algo. Si yo no lo pongo un prefijo o un espacio de nombres, van a chocar entre sí. Entonces, cuando yo tengo un espacio de nombres, lo que estoy diciendo es todo lo que tenga, la carpeta 2024 es mío. Yo soy reservada WordPress. El elemento como lo publican lo reservado. Si ya estuviese cogido, me van a decir no, 2024 no puede ser. Tiene que ser 2024 test o 2024 mío, lo que sea. Me proponen un alternativo, también con los nombres de los plugins. Este espacio de nombres corresponde al nombre de la carpeta que luego se utiliza. En el caso del plugin o en el caso del tema. Cada plugin se instala en una carpeta y siempre es la misma. Cada tema se instala en una carpeta y siempre es la misma. Pues es importante tenerlo así de forma obvio. Como recomendaciones, en el caso de temas tenemos solamente uno activo, pero plugins podemos tener muchos. Para los plugins, tenemos la recomendación de utilizar un prefijo. En el caso de los temas esa recomendación ya no existe. Podemos tener un prefijo o no, decisión personal. Porque ya no va a chocar con nada. Cuando creamos un tema, podemos tener un tema nativo, un tema puro. Como este caso del 2024 o puedo tener un tema chile, pero podemos saber hoy. Ese tema chile tiene que ser 100% compatible con el tema padre que estiende. Suena muy obvio, pero hay gente que no lo tiene en cuenta y reutiliza funcionalidades. Entonces llevo a crear aquí mi tema chile. La forma más sencilla y como yo solo equivocarme al hacer copia pega. Le doy un F2 para copiar y le doy aquí mi folder. Creo una carpeta que puede ser cualquier nombre. Pero nos gusta en WordPress mantener la normativa que es que se llame igual el hijo o que el padre. No tiene por qué, no es obligatorio. Pero es una buena práctica y una recomendación. De hecho está previsto que en algún momento los temas chile también suban a los repositorios. Especialmente temas chile sobre estos que provee propio WordPress van a exigir que sea así. Porque está permitido cualquier nombre por recomendaciones que sea este. Porque si yo escojo como un nombre 2022 va a colisionar con otro tema que existe. En cambio si pongo un nombre primario con su fijo chile no va a colisionar con nada. Por eso la recomendación. Y es obligatorio que contenga este tema hijo. Este tema hijo tiene que tener un fichero obligatoriamente que es styles.ceses. Style.ceses. Es el único fichero que es obligatorio. Todos los demás son opciones. ¿Y qué tenemos que ponerle aquí? Pues parte de la información que tenemos en este chile. En este style. La copia y la oscita. ¿Cómo se llama mi tema? Te puedo poner un nombre creativo o decir que es chile de. Es el nombre de mi tema hijo. Ya estoy en este de aquí. Esa es la del otro para que no haya dos cuantos. Lauri la tenemos. No le voy a publicar ningún repositorio. Por lo tanto no tengo. Autor. Si queremos ponerlo lo ponemos. Vamos. 3. Autor. Y. WP. Si tenemos una web o autor lo ponemos. Esto no es obligatorio. Solamente es para completar. Descripción. Si es obligatorio. Y debemos ponerla. Esta descripción es válida. Pero no está muy bien vista por mucha gente. Entonces lo que vamos a poner aquí. Es. Tema hijo de. 20. 24. ¿Qué más tenemos que indicar en este fichero? Pues tendremos que indicar. La versión. Que es obligatoria. Y el tema que extiende. Este text domain. Ya no tiene ningún sentido. La licencia podemos mantenerla o no. Y todo esto. Lo podemos mantener o no. Pero la versión es obligatoria. Y luego adicionalmente tenemos que decirle. De en plate. Los puntos. Y aquí indicamos el nombre del tema para. Opeamos. 20. 24. Y vamos a verlo. El convenzo que teníamos el otro día. Pero no pasa nada. Vamos a ver los temas. Y vemos que ya tenemos disponible. Aquí. En apariencia temas. Yo tengo la versión en español. Nombre del tema. Una cosa que nos ocurre muchas veces. Es lo que he hecho aquí. El nombre del tema no siempre. Es la descripción. Si yo pongo un tema que no existe. Como tema padre me va a decir. O no lo tienes instalado. O no existe. Quiero que no está poniendo aquí. Yo puedo borrar la carpeta. O mejor. Ponerle ahora mismo. El nombre del tema. Que es esta parte de aquí. Como. Un red de cargamos. Y aquí me aparece un tema nuevo. Ya se ha aparecido el mensaje de error. Y ya aparece un tema nuevo. Este de aquí. ¿Cómo hago yo para utilizar el tema hijo? Es directamente. Lo activo. A partir de este punto. Ya nos ocurre. Que tenemos activo nuestro tema hijo. Del tema padre. Este tema padre. No puedo eliminarlo. Porque si lo borro solamente va a utilizar. Las plantillas que tengo definidas en el hijo. Dejaría ser un chat. Pasaría ser nuestro tema hijo. Un tema principal. Entonces. Lo tengo que mantener siempre. Porque si no lo perdería. Y ahora vamos a ver un poquito. Lo que podemos hacer con un tema hijo. Yo voy a pegar aquí. Una URL. Está de developer world press. La página oficial. Tenemos toda la documentación de desarrollo. Y concretamente voy a bajar. A esta parte de aquí. No sé cómo se ve. Es la primera imagen que hay de color. ¿Qué nos está diciendo aquí? Plantilla primaria. Plantilla secundaria. Plantilla variable. Y tipo de página. Cuando nosotros vamos a presentar. Cualquier tipo de contenido. En world press. Lo que hace es utilizar este esquema. Para ver qué. Formato utilizamos. Qué plantilla utilizamos. Yo tengo distintos tipos de página. Es lo que vemos aquí en gris. Esto lo que está a esta parte. Este azul igual se confunda un poquito. Lo que tenemos aquí. Son los. Los tipos de páginas. Si es una página chivo. Si es una página única. Que puede ser estática. O single post. Que es el más habitual. Si es la página de inicio. Es lo 404. Que es obligatorio en un tema. Como vemos aquí. Que tengo un index. Si no encuentro otra cosa. Que nos muestre cualquier tipo de contenido. Cuando yo presente cualquier página. Por estos caminos. Lo intenta presentarme una página. De las que tenemos aquí marcadas en ver. Estas son plantillas. Que puede definir mi tema. O no. Porque las llamamos de contar. Y porque si os fijáis a quién. Esta que se ve bastante muy bien. Tiene una parte variable. Si yo tengo. Un archivo de taxonomías. Como tengo aquí. Puedo tener. Vaya esta cuestión solamente. Taxonomy y el nombre de la taxonomía. Tengo las taxonomías de localidad. Pues puedo utilizar una página. Específica. Una plantilla específica para taxonomía localidad. Si no tengo taxonomía localidad. Es cuál va. La taxonomía general. Y si no tengo taxonomía general. En este caso archivo. Y si no tengo archivo. Una página. Que estuve como plantilla. Un fichero PHP. Dentro de internet. Así lo hacemos con todas las páginas. De tal manera que cuanto más a la izquierda esté. Mayor problema tiene sobre lo que está la derecha. Y el índex es pues como. El el se no. Si no hay otra cosa. El índex siempre está. No puede existir un tema padre. Así que lo representar con esta parte. Y esto que vemos en gris. Son todos los tipos de contenido. Que podemos hacer. No se pueden crear más. Y se pueden crear menos. O si se pueden crear menos. Si no los desarrollamos. Y sus contenidos. Esto para. Los ficheros de contenido. Los ficheros de contenido o plantillas. Las tenemos. En nuestro código. Dentro de distintas carpetas. Es más o menos libre donde está. Me voy al 2024. Porque sigue el esquema recomendado. Vale. Aquí tenemos la carpeta templates. Y aquí tenemos las principales. Single. Es una especificación que tiene. Search page index. Archive 404. 404. Search home page. Single. Archive index. La vemos que está aquí. Que lo utiliza pues. Por distinto formato de presentación. Son principalmente cosas como. Conseil bar. Conseil bar. Sin título. Con anchuras distintas. Especializaciones sobre la página. Que son plantillas que podríamos encontrarnos por esta parte. Habría que buscar para encontrarla. Pero son las que tendríamos aquí definidas. En naranja. Vale. Un vez que hemos visto las plantillas. En esta carpeta. Obligatoria recordemos solamente esta. Vale. Podremos ver que tienen. También partes que es muy habitual. Son contenidos pequeños. Que nos sirven. Para presentar determinada información. Patrones. De como presentar determinada información. Como por ejemplo una galería. Los patrones son para elementos incrustables. En distintos sitios de la página. Necesariamente van al principio. Las plantillas van a ordinar. Todo lo que son partes van a ordinar. Pero los patrones. Son objetos que van en cualquier punto. No son elementos. Ordenados. Y luego tenemos algunas carpetas. De apoyo. Que son assets. Y estáis. Aquí en estilos. Estáis. Es un formato un poquito extraño de entender al principio. Porque no son los estilos que estamos acostumbrados a ver. Aquí nos guarda un json. Que nos determina qué estilo va a aplicar algún elemento. Y el estilo es. Básicamente algo que está aquí definido. Que está en algún punto definido. Son elementos de colobos. Son elementos funcionales. Que van ir capturando. En distintos puntos para presentar. Podemos tener también fuentes. Dentro de assets. Además de los estilos. Todos los ficheros que. Que utilice. Esto es la fuente que utilizan. Yo no puedo visualizarlo. Son los formatos intercambiables. Y. Y. Y también tenemos. La carpeta de imágenes. Estáticas. Estas son. Son imágenes para fondos. Para patrones. La imagen deportada. Todo lo que podemos tener por ahí. Que requiere nuestro tema para funcionar. Que tenemos que hacer nuestro tema. Pues en nuestro tema hijo. Tenemos que. Reemplazar los ficheros que no nos gusten. De nuestro tema para. Básicamente es la idea. Simplemente reemplazar lo que no nos gusta. O bien ampliar la funcionalidad. Vamos a empezar por la segunda parte. Amparar la funcionalidad. Si yo quiero ampliar la funcionalidad. Tengo aquí un ficherito. Que es el fichero de funciones. De código. De mi tema. Vale. 2024. Como prego si existe la función. Con el nombre que yo quiera siempre. Y si no existe la cre. Esto es una práctica habitual y recomendable. Para evitar sobrecargarle que nos den un error. Que vamos a hacer en el caso del chai. Pues cualquier funcionalidad. Estas que no nos guste. Vamos a tener nosotros un fichero. Funciones. Que lo que hace es sobre escribir. Sobre escribir entre comillas. Solamente. Sobre escribir lo que colisione en nombres. Por lo tanto. Si yo creo una funcionalidad. Que es mi tema hijo. Y bajo lo que sea. Va a existir a la vez que existen todas estas. En cambio. Si creo una que es. 2024. Está de aquí. Por lo tanto tenemos que tener mucho cuidado. Cuando hacemos esto. Podemos escribir la funcionalidad. Del par. Vamos a crearnos un. Fichero en el hijo. Wp content. Times. 2024. Chai. Funciones. Punto. Este fichero es ya opcional. Muy recomendable. Que esté siempre ahí. Pero ya es opcional. Aquí puede hacer cualquier tipo de funcionalidad. Por ejemplo. Función cola. Fichero alert. Cola. Algo tan sencillo como esto. O no tan sencillo. Porque esto es. PHP. Entonces tengo que indicarle aquí. PHP. Y dentro ya sí escribir. El lugar de un alert. Está funcionando. De esta manera. Añado nuevas funciones. Con el código que necesite. Tanto código como yo puede necesitar. Se lo puedo poner sin ningún problema. Dentro de ese punto. ¿Qué necesitas podremos tener con este fichero? Podemos. Necesitar eliminar una funcionalidad. Del padre. Hay dos formas de eliminarla. Sin el padre. Esa funcionalidad. Funciones de aquí. Un hook. No tenemos ninguna. En este tema. Podríamos tener una funcionalidad como esta. Que está añadido un hook. Creo que tendría que poner aquí. Para eliminarla de ese hook. Es un remove action. Y aquí me dice nombre del hook. Imaginemos que esto va. En el. Y qué quiere eliminar. Le digo que elimino esta. La del padre. En esta manera lo que estoy haciendo. Es algo que ocurría en el padre. Decido que mi tema hijo. No lo va a tener. Lo elimino. Pero también puede ser. Que no esté en un hook. Que simplemente esté. La función por la suerte. Y no quiero que haga absolutamente nada. No puedo decir. Esta función no existe. Partimos de esa pequeña limitación. Tenemos que decir. En esta manera. Es directamente. Dejarla en blanco. Así lo que hacemos es. Sobre. Escribir. Es. La. Del tema. Esta es una de las funciones. Que puede necesitar en un tema. Ahora bien. Cuando vayamos a hacer referencia. A cualquier funcionalidad. No podemos tener en cuenta. Que yo ahora mismo. No puedo utilizar la ruta del tema. Porque tengo dos temas. Tengo tema hijo y tema padre. Entonces. Me da dos funcionalidades. Que son. Estáis. Uri. Director. Todas estas. Que en los tres casos están relacionadas. Con la ruta del tema. No. Estáis. Me devuelve. Y qué pasa si quiero hacer a la del padre? Pues en este caso. Tengo que llamarlo como. Temple. Temple. No. Para recuperar un parcial. Los parciales son solamente en el padre. Tenemos las mismas. El director y el director y Uri. Para poder acceder. Para la que necesitas. En este caso. Vamos a quedarnos con. Para. Para. Para que nos hace falta esto. Por ejemplo, si quiero acceder a un asset. Específico del padre. Tengo que utilizar la ruta. Del padre. Si quiero un asset específico del hijo. Si está en los dos. Y quiero utilizar el del hijo. Llamo directamente a la ruta. El fichera actual. Y a partir de recuperar todo. Y de esta forma. Lo que hacemos es. Conseguir. Ampliar funcionalidades. Esto es código. No es visual. Por lo tanto. Si queremos cambiar algo visual. No podemos irnos a la función. Porque sería. Si yo tengo la forma de presentar. Un contenido. Que no me encaja. Vale. Estamos viendo antes. Este lajón. Que tengo que hacer yo. Pues ir a cambiar esta plantilla. ¿Cuál es la plantilla que utilizamos aquí? Si es de haber código fuente. O inspeccionar. Sobre también ayudarnos. Aquí nos suelen dejar elementos. Que nos permiten por el nombre. Directamente. Entender. Para saber un poquito. Dónde está. Si yo busco. Esto no voy a cambiar. Porque esta la. La administración. Vamos a cambiar este. Buscamos algunas clases que tenemos aquí. Si no sabemos cuáles. Es cogerlas que tengamos. Hasta encontrar. Vamos a cambiar la cabeza. Porque aquí es más sencillo encontrar. Es solamente una. Que yo me vengo aquí a mi WordPress. Y le digo. Que quiero buscar. A mi WordPress al Visual Studio. Dentro de 25-24. Finding Folder. Esto. En este caso. No me lo he encontrado. Porque no lo he encontrado. Porque le está componiendo en base a distintos elementos. Entonces. No siempre funciona. Tenemos que localizarlo. Póquito complicado para encontrar. Nos podemos ir igualmente. A la página. En este caso es la home. La que tenemos. Y lo que vamos a hacer es copiarla. Y aquí si es importante. Su historia de cartetas templates. Home HTML. Yo me creo aquí. Una carpeta que sea. New Folder. Plates. Aquí dentro. Si existe. Esta plantilla. En el hijo. Va a presentar. El contenido que yo tengo que elijo. El que lo abierto. H1. En el hijo. Aquí simplemente lo que ponemos es. Pues esto. Que aparezca ahí un texto. Así vamos a hacerlo con un template. Que se esté visualizando. Ahora no está visualizándose este de aquí. Está. En este caso le hemos añadido. No aparece donde yo quería. Habría que analizar un poco más la estructura de cartetas. Y ver. Cual es el elemento. Que yo estoy pintando aquí. Aquí vemos que tenemos. El deslaje. Este es H1. Y aquí al final está incluyendo este elemento. Y por eso no lo pinta aquí abajo. Cualquier elemento que veamos. Va a ser siempre lo mismo. Está bien. Como está diseñado por WordPress. Que no suele gustar mucho. Así encontramos ahora. Align. Puede ser el texto de aquí. Este es por nombre. Así encontramos uno fácil de modificar rápidamente. Por nombre. Vamos a buscar bien. No aparece. Aquí tenemos un footer. H1. Esto es. 224. Parts. Entonces este. Lo copie. De partes. A. Parts. Y así le pongo. H1. Le pongo. Puter. Modificate. Y aquí al recargar. Me aparece. El nuevo texto. Esta es la fórmula que podemos cambiar con los contenidos. Para todos los temas. Como no existe. Fichero en el child. Lo que hace es buscar el mismo en el par. Pero es importante que esté en la carpeta. Cualquier página. De aquí. Del parent. Del tema principal. Que haga referencia. A esta parte que es el footer. Va a ir a buscarla. A la carpeta correspondiente. Dentro de este tema. Del child. Y solamente si no lo encuentra. Lo va a buscar en el par. Es el orden de ejecución. Y en cuanto al código que podemos cambiar. Asolamente todo. Podemos quedar partes nuevas. Podemos eliminar partes incluso. Podemos incluso eliminar nombres de ficheros. Lo que no puedes hacer. Es. Quitar uno del hijo. Los temas hijo. Una limitaciones que tiene. Es que no pueden. Hacer algo totalmente distinto del par. Sino que el objetivo es ampliar. Añadir una funcionalidad. Una plantilla específica. Por un nuevo tipo de tema. O presentar de forma distinta. Una que existe. Si yo quiero que este 404 me ponga algo diferente. Crédiga. Ups. Has equivocado. El 404 es un poco distinto. Una página que no exista. Me pone ese texto. Pero lo que no puedo decir es. No. Ahora no quiero que tenga una página 404. Pero presenté todo como líneas. Puede ampliar. Puede especificar. Incluso modificar. Pero no puedo eliminar. ¿Y si hacemos un tema child? Hay una pregunta. Esto con. Ahora cuando modifique. ¿Tiene que haber de los temas? ¿Va a seguir funcionando igual? En principio sí. La forma de trabajar con temas hijos no cambia. Un tema hijo siempre está pensado para ampliar. Y para que cuando se actualice el tema padre. Por presiones de seguridad. Por presiones menores. No me machaque mi código. Si necesito cambiar un código. Para que cambie el tema. Hay gente que lo sí haciendo así. No lo hagáis nunca. Modifican el tema original. Si no mantenemos el nombre. Cuando lo actualicen. Lo sobrescriben. Si no mantenemos el nombre. Y tiene un agujero de seguridad. Por el motivo que sea. Se queda fuera de todas las actualizaciones. Entonces la forma de hacerlo es. Cambia lo que necesites. Por supuesto. Para un tema hijo. Y ahí cambia lo que necesites. Cuando te dice el padre. Hasta el padre. Y tú puedes actualizarlo. Y tu funcionalidad va a seguir estando ahí. No vas a perder tu código. Es como tener un plugin dentro del tema. Por así decirlo. Entonces cuando hagamos un código. Tendrán que pensar dónde va. Si a plugin o a tema. Normalmente para temas child. Lo que hacemos es funcionalidades. Que tienen que ver con la estética. Y en un plugin. Funcionales del backend. Funcionales que no son tan visibles. Vale. Y habrá algún caso en el que podemos ponerlo en los dos sitios. Ahí ya es elección. Si lo puedes poner los dos sitios. Lo más recomendable siempre. Por estandarización es que sea un plugin. Y todo utilización. Porque un tema child siempre está ligado al tema padre. En cambio un plugin es. Cross para todos los temas. Alguna cuestión más. Si yo quiero hacer. Si yo tengo. Que tienes a veces funciones. Mejor un plugin que. Que en el tema. Si es que el nombre lo dice shortcode. Es código. Entonces. Es algo reutilizable. No depende de un tema. Siempre a plan. El tema hijo es simplemente para mejorar o cambiar algún aspecto. En las versiones antiguas. Lo que se hacía es. Sobre todo esto de aquí. Es decir quítame el diseño por propias. Casi todos temas del mismo te permite modificar. En las versiones 5 no se permitía. Pues se hacía un tema hijo solamente. Para tapar el diseñado por propias. Viento que todo mundo quitaba. Decidió. Eso se pudiese cambiar en casi todos los temas. Incluso. Por configuración. Tema hijo presentación. Que no nos gusta del tema padre. Pequeños matices. Principalmente. El termino es un matiz pequeño matiz detalles. Si es algo muy gordo. Si no te gusta nada del tema padre. Te es equivoca de tema. Tienes que cambiarlo. Si es una función que puedes llevar. A un plan. Para poder utilizar en donde te haga falta. Y en todos temas que necesites. Para mí por ti mismo. Porque te lo llevas a todos tus clientes. No solamente a uno. Que utilices ese tema. Sí, sí, sí. Son temas muy específicos. De todas más. Con temas hijos. Y sí. Ahora viendo a ti. Para un detalle. Categorías. Custom post. Algún elemento así. Es muy útil utilizar esta presentación. Pero no tienes que hacer un short call. Directamente dices. Si es un custom post de este tipo. De tipo propiedad. De tipo coche. De tipo noticia. Vale. Pues dejamos el grabar aquí.