J'aime créer un plugin enfant ..
Explication: -
J'ai un plugin parent nommé X. Cela fonctionnera indépendamment (comme les autres plugins existants).
Maintenant, j'ai décidé d'ajouter quelques fonctionnalités supplémentaires à ce plugin X (pensez à une mise à niveau). Je souhaite donc créer des fonctionnalités supplémentaires par le biais d'un autre plugin Y, qui dépendra de (et héritera de) X.
Ce plugin Y ne fonctionnera pas avec le plugin X.
Comment puis-je faire ceci?
la meilleure façon de le faire est de faire en sorte que votre plug-in X utilise ses propres points d'accroche pour les actions et les filtres afin que les nouveaux plug-ins (dans votre cas, Y) puissent interagir avec les fonctions et les données du plug-in X. Définir vos propres crochets est assez simple et facile.
du codex:
Les actions sont les points d'ancrage que le noyau WordPress lance à des points spécifiques au cours de l'exécution ou lorsque des événements spécifiques se produisent. Votre plugin peut spécifier qu’une ou plusieurs de ses fonctions PHP sont exécutées à ces points, à l’aide de l’API Action.
exemple d'un nouveau crochet d'action:
Function whatever(){
//regular stuff you do normally
do_action('Name-Of-Your-Action-hook', $args1,$args2)
//regular stuff you do normally
}
Nous pouvons maintenant interagir avec cette fonction et utiliser ses arguments ($ args1, $ args2) à l'aide du hook 'Name-Of-Your_hook'
add_action('Name-Of-Your-Action-hook','hook_function_callback');
du codex:
Les filtres sont les points d'ancrage que WordPress lance pour modifier le texte de différents types avant de l'ajouter à la base de données ou de l'envoyer à l'écran du navigateur. Votre plugin peut spécifier qu’une ou plusieurs de ses fonctions PHP sont exécutées pour modifier des types de texte spécifiques à ces moments-là, à l’aide de l’API filtre.
exemple d'un nouveau crochet de filtre:
Function whatever(){
//regular stuff you do normally
$output = apply_filters('Name-Of-Your-Filter-hook', $output,$args1,$args2)
//regular stuff you do normally
}
Maintenant, nous pouvons interagir avec cette fonction, filtrer $ output use et ses arguments ($ args1, $ args2) en utilisant le crochet 'Name-Of-Your-Filter-hook'
add_filter('Name-Of-Your_hook','hook_function_callback');
Un bon exemple à cela serait formulaire de contact 7
et de nombreux autres dont tous (la plupart) sont des plugins qui étendent les fonctionnalités de Contact Form 7 en fonction de ses hooks.
Établissez dans votre plugin parent des points auxquels le plugin enfant peut associer sa propre fonction. Enveloppez également le plugin enfant dans if(function_exists('parent-plugin-function'))
ou class_exists
s'il s'agit d'une classe.