doing_action()

Définition : doing_action() permet de savoir si une action WordPress est actuellement en cours de traitement, y compris lorsqu’un autre hook est exécuté à l’intérieur. Elle renvoie un booléen et peut cibler un nom précis.

Terminologie

Terme : doing_action()

Autres appellations : Action en cours

À quoi cela sert

WordPress conserve une pile de hooks en cours d’exécution. En fournissant un nom, la fonction vérifie si ce hook figure dans la pile active ; sans nom, elle recherche si une action quelconque est en cours. Elle diffère de did_action(), qui mesure les déclenchements passés.

Dans quel contexte l’utiliser

L’utiliser pour éviter certaines opérations durant une phase particulière, ou pour comprendre des appels imbriqués dans le moteur des hooks. Limiter ces dépendances au cycle d’exécution aux cas réellement nécessaires.

Exemple concret

Une routine partagée ne souhaite pas effectuer son diagnostic pendant que WordPress construit un menu d’administration.

Exemple de code commenté

<?php
function atoolpha_demo_diagnostic() {
    if ( doing_action( 'admin_menu' ) ) {
        return; // Pas de diagnostic pendant la construction du menu.
    }
    // Diagnostic autorisé par le cycle d’exécution ici.
}

Explication de l’exemple

Le callback vérifie que admin_menu n’est pas en cours d’exécution avant de lancer son diagnostic. La condition dépend de la pile active ; elle n’évalue pas les droits de l’utilisateur ni son écran.

Précautions et limites

Ne pas substituer doing_action() à current_user_can() : le contexte d’exécution n’est pas un contrôle de permissions.

Termes associés

  • current_action()
  • did_action()
  • doing_filter()

Références officielles

Bouton retour en haut de la page