web-dev-qa-db-fra.com

Dois-je appeler do_action dans mon plugin?

Dois-je appeler la fonction do_action chaque fois que je add_action quelque chose?

3
Shafiul

Généralement, vous utilisez des actions existantes dans vos plugins. WordPress appellera do_action() si nécessaire.

Si votre plugin est assez complexe, comme un plugin shopping, vous pouvez proposer des actions supplémentaires pour les autres développeurs de plugins ou pour la version pro de votre plugin. Dans ces cas, vous ajoutez do_action() partout où vous pensez que cela pourrait être utile.

Un exemple: j'ai une bibliothèque de PHP classes que j'utilise pour certains projets. Lorsque j'écris un plugin qui s'appuie sur ma bibliothèque, je dois attendre que celle-ci soit prête. Alors j'écris dans ma bibliothèque:

require 'class.T5_Custom_Post_Type_Helper.php';
require 'class.T5_Custom_Taxonomy_Helper.php';
// and so on…
do_action( 't5_library_loaded' );

Dans mon autre plugin, je m'accroche à cette action pour lancer tout le travail:

add_action( 't5_library_loaded', array ( 'My_Plugin_Class', 'init' ) );

Maintenant que je connais tous les cours nécessaires, je n’ai pas à tester class_exists() à chaque fois.

add_action() et do_action() ne sont pas nécessairement liés ensemble. Donc, la réponse à votre question est: non. :)

6
fuxia