Inicialización de WordPress Beneficios y errores comunes

En la programación, la inicialización de los datos es importante ya que es donde configuramos los requisitos previos para la aplicación, como sus atributos, los archivos y datos requeridos, su conexión a la base de datos, etc..

WordPress en sí tiene un procedimiento de inicialización bien definido. A lo largo del ciclo de vida de la página, WordPress dispara una serie de acciones, muchas de las cuales hemos cubierto en artículos anteriores. Para ese fin, proporciona un conjunto de ganchos de inicialización que se utilizan naturalmente para inicializar la aplicación antes de ejecutar su funcionalidad principal.

Como desarrolladores de plugins y temas, es importante entender los casos de uso y Errores comunes de estos ganchos de inicialización, para construir aplicaciones de calidad..

En este artículo, vamos a echar un vistazo a la importancia de los ganchos de inicialización de WordPress y cómo se utilizan en varios escenarios.


Introducción a los ganchos de inicialización

WordPress proporciona una amplia gama de enlaces que pueden usarse en el desarrollo de complementos y temas.

En una solicitud de página típica, todos los ganchos de acción se ejecutan en un cierto orden. Específicamente, todos los enlaces se ejecutan después de que la aplicación principal de WordPress complete su proceso de carga.

Así que los ganchos de inicialización se utilizan principalmente para, lo adivinaste, inicializar el proceso en complementos y temas. Echemos un vistazo a los disponibles. en eso Enganches en WordPress, en el orden de su ejecución:

  • en eso se ejecuta después de que WordPress haya terminado de cargarse pero antes de que se envíen los encabezados. Generalmente, esto es usado por plugins para inicializar su proceso..
  • widgets_init Se utiliza para registrar widgets de barra lateral de la aplicación. los register_widgetLa función se ejecuta dentro de este gancho.
  • admin_init se ejecuta como la primera acción, cuando el usuario accede a la sección de administración de WordPress. En general, se usa para inicializar configuraciones específicas del área de administración..
Aparte de estos tres ganchos, hay otro gancho llamado admin_bar_init, que se ejecuta después de que se inicializa la barra de administración. El Códice de WordPress no proporciona una explicación de este enlace, y no muchos complementos usan este enlace..

También puede revisar todo el proceso de ejecución del enganche de acción de WordPress en el Codex.

WordPress ejecuta cada enlace en un cierto orden (que puede ver en el Códice). Como tal, es importante considerar el orden de ocurrencia en el uso de cada gancho de acción. Considere los siguientes escenarios para identificar las diferencias..

Definiendo admin_init Dentro de en eso Gancho

Si es necesario, podemos definir ganchos de WordPress dentro de otros ganchos. En una solicitud tipica, en eso gancho corre antes de la admin_init gancho. Así que intentemos dar salida a algo colocando admin_init dentro de en eso gancho:

 add_action ('init', 'test_init'); function test_init () add_action ('admin_init', 'test_admin_init');  function test_admin_init () echo "Admin Init Inside Init"; 

Después de ejecutar este código, obtendremos la salida deseada usando el eco declaración.

Definiendo en eso Dentro de admin_init Gancho

Veamos el código y la salida de este escenario donde se define un enganche anterior dentro de un enganche que viene más adelante en el orden de ejecución..

 add_action ('admin_init', 'test_admin_init'); function test_admin_init () add_action ('init', 'test_init');  function test_init () echo "Init Inside Admin Init"; 

Aquí, no obtendremos ninguna salida, esto es lo que se espera, porque la en eso el gancho se ejecuta antes admin_init gancho, y por lo tanto no está disponible después de definir el admin_init gancho.

Como puede ver, es vital comprender el procedimiento de ejecución de los ganchos para crear complementos exitosos. El orden de ocurrencia es importante para todos los ganchos en WordPress.


Explorando el en eso y admin_init Manos

Entre los ganchos de inicio., en eso y admin_init vale la pena explorar, ya que estos dos ganchos se utilizan ampliamente en muchos complementos. El uso de otros ganchos de inicialización es sencillo en comparación con estos dos ganchos.

Como tal, vamos a ver la funcionalidad de en eso y admin_init manos.

los en eso gancho se ejecuta en cada solicitud de ambos La interfaz del sitio de WordPress, así como el backend.

los admin_init gancho se ejecuta después La sección de administración completa su proceso de carga. Así que este gancho también se ejecuta en cada solicitud de página de administrador. Los usuarios deben iniciar sesión para aprovechar este gancho.

Dado que estos dos enganches se ejecutan en cada solicitud, tenemos que planificar las funcionalidades dentro de la implementación de estos enganches, ya que puede afectar en gran medida el rendimiento del sitio..

Cómo utilizar en eso Manos

En general, los enlaces de inicialización están disponibles en la mayoría de los complementos de WordPress existentes, y son esenciales para administrar su procesamiento..

WordPress no define lo que debemos y lo que no debemos incluir; por lo tanto, los desarrolladores pueden cometer errores menores que, a su vez, pueden resultar en una gran disminución del rendimiento. En esta sección, veremos cómo podemos usar eficazmente ambos en eso y admin_init manos.

Echemos un vistazo a las mejores prácticas en el uso de ganchos de inicio.

los en eso gancho

  • Registro de tipos de correos personalizados - WordPress recomienda el uso de la en eso gancho para el registro de nuevos tipos de mensajes personalizados.
  • Inicializando las configuraciones y configuraciones de tu plugin - Las configuraciones y configuraciones de los complementos deben definirse en cada solicitud y, por lo tanto, es una buena práctica incluirlas dentro de este gancho..
  • Acceso a los datos enviados por el usuario (usando $ _GET y $ _POST) - Podemos interceptar los datos enviados por el usuario sin ninguna acción, pero se recomienda utilizar el en eso Enganche ya que garantiza la ejecución en cada solicitud..
  • Añadiendo nuevas reglas de reescritura. - Podemos definir nuevas reglas de reescritura usando el en eso Enganche, pero tenga en cuenta que estas nuevas reglas solo tendrán efecto una vez que eliminemos las reglas de reescritura..
  • Añadir o eliminar acciones personalizadas - Los complementos contienen muchas acciones personalizadas para ampliar la funcionalidad. Habrá escenarios en los que necesitamos agregar nuevas acciones personalizadas, así como eliminar las existentes. En tales ocasiones, es esencial implementar esas actividades dentro de en eso gancho.
  • Cargar plugin de dominio de texto - WordPress ofrece soporte multilingüe y, por lo tanto, podemos cargar el archivo que contiene las cadenas traducidas. Esto también se debe colocar dentro de la en eso gancho.

los admin_init gancho

  • Control de acceso - Es esencial verificar los permisos de los usuarios que han iniciado sesión antes de permitir que cada usuario acceda a un conjunto específico de características o funcionalidades.. admin_init Es la primera acción que se ejecuta en el área de administración para que podamos usarla para administrar el control de acceso..
  • Añadiendo nuevas configuraciones - Podemos usar este enlace para agregar nuevas páginas de configuración o configuración en el panel de configuración de WordPress existente.

Hay muchas otras implementaciones posibles con estos ganchos, pero esas características tienen sus propios ganchos y no es necesario usar los ganchos de inicialización..

Errores comunes de usar ganchos de inicialización

A menudo, encontramos situaciones en las que los desarrolladores no entienden el uso de los ganchos de inicialización. El uso inadecuado de dichos ganchos puede llevar a problemas de rendimiento graves (así como a complementos de baja calidad).

Identifiquemos los errores comunes y cómo evitarlos:

  • Reglas de reescritura - Esta es una operación de uso intensivo de recursos en la que todas las reglas de reescritura se desechan y se reorganizan para agregar nuevas y eliminar reglas innecesarias. Muchos desarrolladores borran las reglas de reescritura dentro en eso acciones y terminan creando una sobrecarga de rendimiento innecesaria en cada solicitud. Deberíamos configurar una forma de eliminar manualmente las reglas de reescritura con un botón o limpiar las reglas de actividades poco frecuentes, como guardar la configuración de complementos.
  • Accediendo a la base de datos - Es una necesidad para acceder a la base de datos para proporcionar varias funcionalidades, pero es importante evitar llamadas de base de datos innecesarias dentro de los ganchos de inicialización a medida que se ejecuta en cada solicitud. Para ese fin, es ideal asignar enlaces de base de datos en enlaces específicos de funcionalidad para evitar una sobrecarga de rendimiento importante.
  • Ejecutando rutinas de actualización - Los complementos deben tener una rutina de actualización para actualizar sus características para nuevas versiones. En general, los desarrolladores utilizan ganchos de inicio para verificar las versiones y configuraciones de los complementos antes de ejecutar el proceso de actualización. Podemos permitir que los usuarios actualicen el complemento proporcionando una pantalla personalizada en lugar de revisar automáticamente cada solicitud..
  • Usando ganchos de inicio en lugar de ganchos específicos de funcionalidad - Este es el error más común cometido por muchos desarrolladores. Hay una gran variedad de enlaces en WordPress que apuntan a una funcionalidad diferente y única. Es importante usar ganchos específicos de funcionalidad para evitar conflictos y hacer que el código sea extensible. Ganchos tales como en eso y admin_init se pueden usar en lugar de ganchos específicos, por lo que los desarrolladores tienden a usarlos sin tener el conocimiento de su efecto completo. Algunos de los escenarios comunes donde los desarrolladores utilizan en eso y admin_init Los ganchos en lugar de los ganchos recomendados son los siguientes:
    • admin_menu - Podemos añadir páginas de menú utilizando add_menu_page función. Se recomienda usar admin_menu gancho para la creación de páginas de administración. Pero muchos desarrolladores usan admin_init gancho como se ejecuta despues admin_menu gancho.
    • wp_enqueue_scripts - La forma recomendada de agregar estilos y scripts es usar wp_enqueue_scripts gancho. Pero muchos desarrolladores usan wp_enqueue_script dentro de en eso gancho para cargar scripts y estilos.

Hay una serie de situaciones similares en las que los desarrolladores utilizan un gancho de inicio común en lugar de un gancho específico de la funcionalidad y debería evitarse siempre que sea posible.


Avanzando con los ganchos de inicialización

Los ganchos de inicialización de WordPress desempeñan un papel vital en el desarrollo de complementos y temas. Muchos desarrolladores hacen mal uso de los ganchos creando una sobrecarga de rendimiento innecesaria. En este artículo, discutimos el uso adecuado de estos ganchos, así como los errores comunes y cómo evitarlos..

Ahora podemos aplicar la misma técnica a los ganchos personalizados específicos del plugin. Muchos complementos avanzados usan sus propios ganchos de acción para hacerlos extensibles. Para dichos complementos, podemos definir enganches de inicio específicos para que los desarrolladores se centren en las tareas de inicialización en enganches predefinidos, en lugar de usarlos en todas partes..

No dude en compartir sus experiencias sobre el uso adecuado de los ganchos de inicio, así como los errores en el uso de los ganchos de inicialización. Espero ver lo que tienes para compartir en los comentarios.!