web-dev-qa-db-fra.com

pourquoi les plugins sont chargés avant les pluggables

WP URL call

J'ai eu cette image d'un livre électronique pour le développement de plugins WP. Pourriez-vous m'expliquer pourquoi les plugins sont chargés avant les pluggables.

4
A.C.Balaji

Directement à partir de la source pour pluggable.php :

<?php
/**
 * These functions can be replaced via plugins. If plugins do not redefine these
 * functions, then these will be used instead.
 *
 * @package WordPress
 */
?>

Donc, voici votre réponse, les fonctions dans pluggable.php sont destinées à être remplacées par Plugins .

Re: ordre de chargement:

Voir ce message de Konstantin Kovshenin . Les points pertinents (10-15):

  1. wp_get_active_and_valid_plugins() récupère la liste de tous les fichiers de plug-in actifs à charger et les inclut. C'est le point où votre code de plug-in est exécuté, les fonctions, les classes définies, etc.
  2. Inclut wp-includes/wp-pluggable.php et wp-includes/wp-pluggable-deprecated.php qui incluent des fonctions (et des fonctions obsolètes) pouvant être redéfinies par des plugins. Comme wp_mail() pour un mailing plus avancé, wp_authenticate() pour d'autres méthodes d'authentification, etc.
  3. wp_set_internal_encoding() est appelé pour définir le codage interne en fonction de l'option blog_charset.
  4. wp_cache_postload() est appelé si la mise en cache des objets est activée.
  5. À ce stade, une action plugins_loaded est déclenchée. Il s'agit de la toute première action (après le déclenchement de muplugins_loaded avant le chargement des plugins WordPress non multi-sites) à laquelle avant l’initialisation car WordPress n’a pas encore été initialisé, du moins pas complètement.

Donc, simplifié:

  1. Les plugins sont chargés
  2. pluggable.php est chargé
  3. plugins_loaded action est déclenchée

Quel est l'ordre attendu.

(Remarque: tout cela se passe en wp-settings.php .)

3
Chip Bennett

N'utilisez pas de fonctions enfichables!

Veuillez noter que vous ne pouvez jamais être sûr qu'un plugin ultérieur ne remplacera pas votre pluggable ! J'ai écrit sur la liste de diffusion wp-hackers à ce sujet il y a quelque temps.

Il y a aussi un autre fil sur wp-hackers qui dit qu'il n'y a pas de solution de repli mise en œuvre. Veuillez également lire le ticket de train associé .

0
kaiser