web-dev-qa-db-ja.com

カスタマイズされたwp_new_user_notification

カスタマイズされたwp_new_user_notification

Wordpressの機能を編集することに慣れていないようですが、管理者やユーザーが登録したときに受け取る電子メールをパーソナライズするために wp_new_user_notification をカスタマイズしようとしています。私はこの種のカスタマイズを可能にするプラグインがいくつかあることを知っていますが、私はむしろプラグインをインストールするよりもむしろ問題にもう少し時間をかけてそれを学び理解することを試みることを望みます。そのため、この関数をfunctions.phpに配置しました。次のように、1つ以上のフィルタを追加することになっていると思います。

add_filter('myfunction', 'wp_new_user_notification', ?, ?)

またはそうでないかもしれません。私は読んで、いくつかのヒント/チュートリアル/質問( など のように)に従ってみましたが、私が何をしても、私は自分の機能が考慮されていないかのように標準のテキスト/内容のEメールを受け取り続けますWordpressによる)。

誰かが私がこの問題を解決するのを手伝ってくれる?前もって感謝します!

2
Cerere

プラグイン内のプラグイン可能な関数のみをオーバーライドでき、functions.phpを介してはオーバーライドできません。この関数はfunctions.phpがロードされたときにすでに定義されているので、オーバーライドする関数はスキップされます。有効にするには、コードを 自分のプラグイン に移動します。

2
Milo

プラグインはいつロードされますか?

プラグインはplugins_loadedフックの直前にロードされます。 MUプラグイン(これはすべてのプラグイン可能なimhoのはずです)は、muplugins_loaded-hookの前に、もっと早くロードされます。 (どちらもプラグイン用の最初のフックで、テーマ用にアクセス可能なすべてのフックよりも はるかに 早く実行されます)。

プラガブルとは何ですか?

「プラグイン」はこのように呼ばれます、なぜならそれらはコアで「プラグアウト」され、置き換えられることができるからです。これは、それらがif ( ! function_exists( 'some_pluggable_fn' ) ) {呼び出しにラップされているために起こります。

Im pluggable.phpは、コアで、場合によってはThemes functions.phpファイルで見つけることができます - 例としてTwentyTen/* Elevenを取ります。

<?php
! defined( 'ABSPATH' ) AND exit;
/** Plugin Name: (pluggable) Replace New User Notification function */

function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
    // define the functionality of your new function.
}
2
kaiser