web-dev-qa-db-ja.com

プラグインのどこでフックが定義されているのかわかりません - Easy Digital Downloads

プラグイン開発技術についてもっと学ぶために、プラグイン " Easy Digital Downloads "のコードを読んでいます。定義されている場所を見つけることができないフックが原因で、私は頭がおかしくなっています。

add_action( 'edd_edit_user_profile', 'edd_process_profile_editor_updates' );

所在地:includes/shortcodes.php行:918

私はedd_process_profile_editor_updatesがプロファイルの更新を処理するために使用される関数であることを知っています(当たり前ですが)、そしてedd_edit_user_profileはその関数をトリガーするフックの位置ですが、定義されている場所を見つけることができませんでしたdo_action('edd_edit_user_profile')

はい、私はプラグイン全体でedd_edit_user_profileを完全に検索しましたが、これはこのフックについて言及している唯一の行です。

前もって感謝します!

3
Luis Rivera

includes/actions.php

あります

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' );

templates/shortcode-profile-editor.php

あります

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

2つを一緒に使用すると、

do_action( 'edd_edit_user_profile', $_POST );

私があなたの投稿についての私のコメントで述べたように - これはWPで非常に一般的なアクションのための動的なものです。代わりに大きなdo_actionクエリを検索してください。

2
David Sword