¿En qué orden carga WordPress los archivos del complemento?

16

¿En qué orden se cargan los complementos en WordPress?

Y dentro de la carpeta de un complemento en particular, ¿qué orden se sigue para cargar?

    
pregunta urok93 26.08.2012 - 23:28

2 respuestas

21

Respuesta a la primera pregunta:

  1. En wp-settings.php , WordPress primero comprueba si hay complementos de uso obligatorio (complementos en la carpeta opcional mu-plugins ) y los carga.

  2. Luego, si está ejecutando una instalación multisitio, comprueba los complementos que están activados por la red y los carga.

  3. Luego verifica todos los demás complementos activos observando la entrada active_plugins de la tabla de base de datos wp_options , y los repite. Los complementos se enumerarán alfabéticamente.

Aquí está el orden en que WordPress carga prácticamente todo: enlace

Lo importante es que, por lo general, no importa en qué orden se carguen los complementos individuales, ya que los complementos escritos correctamente usarán ganchos de WordPress, que le permitirán conectar la funcionalidad en puntos específicos más adelante en el inicio de WordPress. (Los complementos escritos correctamente también prefijarán sus funciones y clases para que no haya conflictos).

Más información sobre la API del complemento: enlace

Respuesta a la segunda pregunta:

Depende totalmente del complemento. WordPress solo carga un archivo en el complemento, el que normalmente se llama the-plugin-name.php y contiene el título, la descripción, el autor, etc. en la parte superior. Depende del complemento cargar el resto de sus archivos, usando require_once y wp_enqueue_script y otras cosas.

    
respondido por el SeventhSteel 26.08.2012 - 23:58
4

Encuentro que es útil incluir una acción de 'carga tardía' en mi complemento que se ejecuta después de que todos los complementos hayan completado su carga de esta manera:

add_action('plugins_loaded', 'my_late_loader');

La función my_late_loader se inicia después de todos los demás complementos, lo que me permite usar los ganchos definidos por otros complementos en mi propia función my_other_function que se inicia dentro de my_late_loader

/**
 * Late loading function for actions that must run after all plugins 
 * have loaded
 */
function my_late_loader(){
    add_action( 'some_hook', 'my_other_function', 10, 1);
}

Bit convoluted (lo sé), pero esto garantiza que los enlaces en otros complementos se creen antes de agregarse independientemente de la orden de carga del complemento.

    
respondido por el Clinton 10.07.2017 - 14:43

Lea otras preguntas en las etiquetas