web-dev-qa-db-fra.com

Je ne trouve pas où un crochet est défini dans un plugin - Easy Digital Downloads

J'ai lu le code du plugin " Easy Digital Downloads " pour en savoir plus sur les techniques de développement de plugins. Je deviens fou à cause d'un crochet que je n'arrive pas à trouver où est défini.

add_action( 'edd_edit_user_profile', 'edd_process_profile_editor_updates' );

Situé à: includes/shortcodes.php Ligne: 918

Je sais que edd_process_profile_editor_updates est la fonction utilisée pour traiter les mises à jour de profil (duh, évidente), et edd_edit_user_profile est l'emplacement du point d'ancrage qui déclenche la fonction, mais je n'ai pas été en mesure de trouver où est défini do_action('edd_edit_user_profile').

Oui, j'ai fait une recherche complète de edd_edit_user_profile dans tout le plugin mais c'est la seule ligne qui mentionne ce hook.

Merci d'avance!

3
Luis Rivera

dans

includes/actions.php

il y a

function edd_post_actions() {
    $key = ! empty( $_POST['edd_action'] ) ? sanitize_key( $_POST['edd_action'] ) : false;
    if ( ! empty( $key ) ) {
        do_action( "edd_{$key}", $_POST );
    }
}
add_action( 'init', 'edd_post_actions' );

dans

templates/shortcode-profile-editor.php

il y a

..input type="hidden" name="edd_action" value="edit_user_profile" ..

qui, si les deux sont utilisés ensemble, feraient

do_action( 'edd_edit_user_profile', $_POST );

Comme je l'ai dit dans mon commentaire sur votre message - c'est très courant dans WP pour que les actions soient dynamiques, vous devez donc être moins spécifique dans votre recherche, en exemptant le préfixe, les actions variables ou en supprimant simplement la clé. et recherchez une grande requête do_action à la place.

2
David Sword