web-dev-qa-db-ja.com

add_action( 'initとは

なぜワードプレスでこの種のものを使用するのですか?誰かが私にそれを説明できますか? wordpress関数でinitを使用するのはなぜですか?または、initとは何ですか?

11
Nadeem Akram

関数をWordPressにハードコーディングする代わりに、アクションの追加が使用されます。 add_actionを使用する利点は、コアwordpress関数が追加されたものを追跡できるようにすることです。そうすることで、後で登録を解除することで、以前に追加された関数をオーバーライドできます。

例えば:

名前の付いた定義済みのアクション/メソッドを持つプラグインをダウンロードします

add_action( 'init', 'crappy_method' );

安っぽい関数を独自のものでオーバーライドする必要があります。

remove_action('init', 'crappy_method' );
add_action( 'init', 'my_even_crappier_method' );

これを行うことにより、元のメソッドをコピーして、元のファイルを変更せずにカスタマイズできます。これはプラグインで非常に便利なので、変更を失うことなく後でプラグインを更新できます。

21
Chizzle

使用法: add_action($ hook、$ function_to_add、$ priority、$ accepted_args);

パラメータ: $ hook(文字列)(必須)$ function_to_addがフックされるアクションの名前。テーマまたはプラグインファイル内のアクションの名前、または特別なタグ「all」にすることもできます。この場合、関数はすべてのフックに対して呼び出されます)デフォルト:なし

INIT HOOK: WordPressの読み込みが完了した後、ヘッダーが送信される前に実行されます。$ _ GETまたは$ _POSTトリガーをインターセプトする場合に便利です。

たとえば、$ _ POSTデータを処理するには:

add_action('init', 'process_post');
function process_post(){
if(isset($_POST['unique_hidden_field'])) {
 // process $_POST data here
}
}
9
DDphp