私はwp_insert_comment()
(wp-includes/comment.php)を上書きしようとしています。私のテーマにあるfunctions.php
ファイルに次のコード行を追加しました。
add_filter('wp_insert_comment', 'my_insert_comment');
function my_insert_comment($commentdata)
{
/* Some stuff */
}
これは元のwp_insert_comment()関数に含まれる行です。
function wp_insert_comment($commentdata)
{
/* Some stuff */
do_action('wp_insert_comment', $id, $comment);
return $id;
}
多くのテストの後、私は本当のwp_insert_comment()
が実行されたように感じます、そしてそれがdo_action()
行に来るとき、私のフィルタは考慮に入れられ、そして私のmy_insert_comment()
関数はついに実行されます。
もちろん、私の目的は元の機能を自分のものに置き換えることです。 comments.php
ファイルに直接書き込めばmy_insert_comment()
は問題なく動作しますが、それを最新の状態に保ちたい。
私は何か悪いことをしていますか?
この関数はプラガブルではなく、WP coreの一部であるため、オーバーライドすることはできません。あなたができることはすべて、実際に行ったように、アクションwp_insert_comment
へのフックを追加することです。