El artículo de esta semana es un capítulo sobre en funcionamiento, nuestra guía multimedia para el desarrollo de WordPress, sobre la tarea de los niños de WordPress. La intención de este capítulo es mantenerlo actualizado con todos los conceptos básicos de los niños. Descargue este capítulo en formato PDF Si desea leer el capítulo como PDF del libro electrónico, no dude en descargarlo aquí. ¡Disfrutar! Acerca de la ejecución en funcionamiento, ofrecemos un tratamiento detallado de este capítulo a todos los conceptos clave del desarrollo de WordPress. Si está interesado, ¡compruébalo! Y estamos de acuerdo con un tweet del comprador la semana pasada:
Si alguien está en la cerca sobre “en funcionamiento”, ¡no lo estés! ¡Los videos y el libro electrónico son increíblemente útiles para los nuevos desarrolladores!
Recomendaciones clave:
Un tema infantil es un tema de WordPress especialmente registrado que hereda la mayoría de sus propiedades de un tema principal declarado. Una razón importante para crear un tema infantil es actualizar el tema principal sin perder las personalizaciones deseadas.
Style.css es el único archivo obligatorio en un tema infantil. La regla general es que los archivos de tema infantil reemplazan los archivos con el tema principal si existen.
Para usar los temas infantiles correctamente, necesitará saber cómo incluir el estilo de estilo.css; Cómo la jerarquía de la plantilla de WordPress responde a los temas infantiles; y en qué circunstancias puede sobrescribir las funciones existentes en funciones.php.
Un tema infantil de WordPress es un tema de WordPress que depende de un tema de “padre”, que podría ser cualquier otro tema ya existente, siempre que ese tema no sea un niño.
Un tema infantil hereda todo sobre su padre, y luego cambia solo lo que tiene que cambiar. Por lo tanto, puede configurar un tema infantil idéntico al padre, simplemente importando la hoja de estilo (la cubriremos más tarde) y sin ningún otro cambio. ¿Por qué usar un tema para niños? Si cambia un tema de WordPress y luego actualiza el tema, perderá sus cambios. Los temas a menudo se actualizan por razones muy bien fundadas: nuevas funciones importantes, remedios de errores y (especialmente) correcciones de seguridad esenciales, así como otras razones. No hay forma de actualizar “solo parte de” un tema, por lo que si cambia una tercera parte (digamos un tema comercial) y luego actualiza ese tema en una nueva versión, sus cambios desaparecen. Los temas secundarios le permiten realizar solo los cambios Debe hacer, todo mientras el tema principal continúa actualizándose bajo usted. Esta es la razón principal por la que existe. A medida que se acostumbra a trabajar con la tarea de los niños, descubrirá otra razón para usarlas: son realmente convenientes. Es mucho más fácil escribir solo los cambios que necesita en un archivo limpio (por ejemplo, style.css o functions.php) que hundirse en un tema existente y comenzar a extraer hilos. Entonces, los temas para los niños no solo son necesarios, sino también lindos.
Cómo hacer un tema para que el niño cree un tema infantil, cree un nuevo tema. Los temas normales (temas que pueden convertirse en temas parentales) tienen dos archivos necesarios: style.css y index.php. Pero los temas para niños solo tienen uno: style.css. Esto se debe al hecho de que heredé el índice del padre. Registrar un tema para niños y la línea “plantilla:”. Los temas infantiles se registran como temas normales, en un bloque de comentarios en Style.css. Sin embargo, hay un nuevo campo: Plantilla :. Esta línea es obligatoria para cada tema infantil y corresponde al nombre de la carpeta en la que es el tema principal. Aquí hay un ejemplo de un bloque de tema infantil:/* Nombre del tema: Veinte quince tema infantil: http://upandrunningwp.com / Descripción: Tema infantil para el Autor del tema de los veinte quince: WPShout Autor: http://wpshout.com/ Plantilla: Veintefifteen Versión: 1.0.0 */ Esto va a style.css en una nueva carpeta con tema:
Y da este resultado:
Haga clic para aumentar

Tenga en cuenta, nuevamente, que el “hermoso nombre” del tema principal es de veinte quince años, pero el nombre de su director es de veintisiete años. Este es el que debemos escribir después de la plantilla :. Al atraer en la hoja de estilo de los padres, si activamos el tema de veinte quince hijos en este momento, nuestro sitio no se verá como veinte quince. Por el contrario, se verá como un desastre absoluto:

¿Por qué?Porque WordPress ya no escucha el estilo de estilo.css.Style.css of the Child es la hoja de estilo principal para el sitio ahora, y, debido a que no tiene nada en él, el sitio se ve (¡y es!) Completamente sin estribo.Hay varias buenas maneras de resolver este problema;Cubriremos dos.Opción 1: @Import The style.css of the principal en style.css del tema style.css Esta primera solución es una sola línea en style.css to the child.css: @import url (/twentyfifteeNe/style.css “);¡Es mejor de esta forma!Esto simplemente usa la directiva CSS @import para dibujar todo el contenido del archivo style.css en el estilo de su hijo style.css.Ahora su sitio se ve igual que antes y puede escribir sus propios estilos a continuación.
Segunda opción: Pon en style.css consigue el tema principal en las funciones.php El tema infantil. Esta solución utiliza una vieja buena llamada wp_enqueue_style (), en funciones.php del tema del entorno infantil: / *: php de un tema infantil deseo que no sean * / function wpshout_enqueue_twentyfifteen_stylesheet () {wp_enqueue_style (‘twentyle. CSS ‘); } add_action (‘wp_enqueue_scripts’, ‘wpshout_enqueue_twentyfifteen_stylesheet’); Una cosa a tener en cuenta aquí es el uso de la función get_template_directory_uri (). Esta función se refiere al director raíz del tema actual si se llama en un tema normal y al director raíz del tema principal si se llama en un tema infantil. Entonces, con esta función, no siempre sabes si hablas de tu propio tema o de su padre, no es demasiado útil en general, pero es lo que necesitamos aquí, porque ciertamente queremos hablar con el padre.

¿Por qué cargarías tus padres. CSS de esta manera? La ruta PHP resulta ser un poco más rápida, ya que CSS @imports obliga a solicitudes adicionales del servidor. Recuerde que su navegador, no el servidor, puede entender lo que significa @import. Cuando lo hace, tiene que devolver y pedirle al servidor, el segundo tiempo, la hoja de estilo que debería ser @import. forma de cargar temas de crianza. Sin embargo, debido a su mejor rendimiento, la solución wp_enqueue_style () es una mejor práctica de codificación, por lo que recomendamos usar esto cuando sea posible. Cómo interactúa con el tema del niño y el tema del padre que ya he visto que el estilo del estilo niño .css se hace cargo del padre. Veamos más de cerca una pregunta importante: ¿en qué circunstancias se reemplazan los archivos del niño con los del tema principal? Aquí hay un diagrama que desglosa esta pregunta para cada parte de un tema infantil:
Haga clic para aumentar
En la mayoría de los casos, los archivos temáticos del niño simplemente reemplazan los archivos con nombres de padres idénticos. En la mayoría de los casos, los archivos temáticos del niño simplemente reemplazan los archivos con nombres de padres idénticos. Las dos excepciones que vale la pena señalar son:
Archivos en la jerarquía de plantillas de WordPress

funciones.php
Los archivos en la jerarquía de plantillas de WordPress Al agregar un tema infantil, WordPress todavía pasa por la jerarquía de plantillas como siempre lo hace, con una diferencia: en cada paso de la jerarquía, el tema infantil primero verifica, luego el tema principal. Cruzando las plantillas de jerarquía con un tema infantil: un primer ejemplo para suponer que estamos a punto de mostrar nuestra página sobre una publicación de página. El trabajo de esta página es y su identificación es 2. En este ejemplo, suponga que el tema principal tiene dos archivos de plantilla: page.php y index.php. El tema infantil tiene solo un archivo de plantilla: index.php. Así es como WordPress decidirá qué plantilla mostrar: página- $ slug.php:

El tema del niño tiene un archivo llamado Page-bout.php? (No)
El tema del padre tiene un archivo llamado Page-bout.php? (No)
Página- $ id.php:
El tema del niño tiene un archivo llamado Page-2.php? (No)
El tema del padre tiene un archivo llamado Page-2.php? (No)
Page.php:
El tema del niño tiene un archivo llamado Page.php? (No)
El tema del padre tiene un archivo llamado Page.php? (Sí)
En este caso, WordPress usará la plantilla Page.php del padre para mostrar la página. Un segundo ejemplo ahora para imaginar la misma situación, pero que el tema del niño tiene una página.php:
Página- $ slug.php:
El tema del niño tiene un archivo llamado Page-bout.php? (No)
El tema del padre tiene un archivo llamado Page-bout.php? (No)
Página- $ id.php:
El tema del niño tiene un archivo llamado Page-2.php? (No)
El tema del padre tiene un archivo llamado Page-2.php? (No)
Page.php:
El tema del niño tiene un archivo llamado Page.php? (Sí)
En este caso, la página.php del tema del niño reemplazará a la de los padres, y page.php usará page.php del niño para mostrar la página. functions.php Functions.php de un tema infantil se carga antes del padre. Functions.php es un caso muy especial: está cargado antes de las funciones del padre. Dependiendo de cómo se escriba el tema principal, se puede llevar a cabo de dos maneras muy diferentes: temas con las funciones cuidadosas del tema principal use function_exist () para permitir que las funciones.php anulen ciertas funciones del tema principal. PHP tiene una función titulada function_exists (). Al igual que las etiquetas condicionales de WordPress, devuelven un booleano, ya sea verdadero o falso dependiente de si la función que se le dio para buscar o no. Los autores cuidadosos del tema del padre empacan todas sus funciones en if (! Function_exists ()) {}. En un lenguaje simple, esto significa “si la función no existe”:! Significa “no”, por lo que la declaración IF es falsa si la función existe y de otra manera. Los desarrolladores de temas lo usan de la siguiente manera: / * entorno: las funciones ” parent.php * / // solo ejecutar si wpshout_filter_example () les no existe (! Function_exist ‘Hooked:’. $ Título; } add_filter (‘the_itle’, ‘wpshout_filter_example’);
} If cheks (! Function_exists ()) Cree lo que se llama funciones conectadas. Esto crea lo que se llama funciones conectadas: funciones que funciona.php del niño puede anular. ¿Cómo anular el tema del niño? ¡Simplemente registrando esas funciones, porque las funciones.php del niño se ejecuta primero! Entonces, el autor del autor podría escribir: / * entorno: funciones del tema del niño.php * / function wpshout_filter_example ($ title) {return ‘hoced by Child! ‘. $ Título; } add_filter (‘the_itle’, ‘wpshout_filter_example’); Aquí, wpshout_filter_example () del niño será ejecutado, y del padre, ¡porque! Function_exists (‘wpshout_filter_example’)! Function_exists (‘wpshout_filter_example’) ahora está evaluando falso. Cómo trabajar con temas de los padres que no utilizan funciones conectadas Esta situación hace la vida de los autores para los niños. Tomemos el mismo ejemplo: Funciones infantiles.php Records de temas Una función llamada wpshout_filter_example () que existe en la función de la FUNTRA FUNTRA.PHP. La función del tema infantil es muy buena. Luego, las funciones.php del tema principal registra una función del mismo nombre. PHP realmente no le gusta eso. Aquí hay un ejemplo del mundo real, que usa una función de veinte quince y un hijo de veinte quince: intente declarar una función de veinte quince, veintiséis_widgets_init (), en funciones. Php el tema del niño.
Entonces, si el tema principal no lleva a cabo verificaciones de function_exist (), debe evitar el nombre de las funciones duplicadas a cualquier costo. Esto también significa que cualquier funcionalidad PHP personalizada que agrega el tema principal simplemente está obligado a ejecutar. Si desea modificar o eliminar partes de esta funcionalidad, deberá hacerlo manualmente, pase por uno, escribiendo sus propias funciones que estén en la cola de hojas de estilo no deseadas, etc. Lo que hemos aprendido ahora conocemos los elementos básicos de los temas de los niños y cómo y por qué usarlos. Para cambiar los temas existentes, por ejemplo, temas comerciales en los sitios de clientes, usará constantemente los temas de los niños, por lo que este es un gran conocimiento que tiene bajo control. Y si te gusta este estilo de desarrollo de WordPress, hay muchos más donde esto llegó a funcionar. Cada capítulo también termina con un Limerick y una prueba, ¡así que pasemos a ellos! Resumen Limerick Cuando los temas de los niños nazcan de sus padres, los lazos familiares son obvios: lo que no pasan ofrecerán rápidamente, por lo que la herencia viene inherentemente.
¡El momento de la prueba!
La tarea para los niños existe, así que:
Los temas pueden persistir cuando se actualizan los temas en sí mismos

Las personas sin experiencia técnica pueden personalizar fácilmente la tarea
Los temas se restauran fácilmente si se pierden o corruptan
Es posible transformar los siguientes temas en temas de crianza:
Temas existentes especialmente codificados
Temas existentes con funciones.php
Cualquier tema que aún no sea un tema infantil
Si un autor de tema infantil nombra una función idéntica a una función del tema principal que no se incluye en un cheque IF (!
No se ejecutará ninguna función
PHP generará un error fatal
Respuestas y explicaciones
R. Las actualizaciones del tema a menudo ofrecen los remedios de seguridad necesarios, así como nuevas funciones y sobrescribirían los temas sin el proceso de tema secundario.
C. No hay requisitos especiales para los temas de los hijos;Sin embargo, no hay temas de “sobrino”.
C. PHP no puede procesar funciones duplicadas.Con el check (! Function_exist ()) {}, la función del tema infantil se ejecutará y el padre no;Esto permite que los autores del tema de los niños reemplacen selectivamente las funciones del tema principal, por lo que si (! Function_exists ()) es una buena práctica en general.
Imagen de crédito: Allison
homefinance blog