wordpressのcomment_postがウンともスンとも言いませんでした。
まったくクセのないアクションフックだと思っていましたので、すこしハマりました。
そして解決方法は分かりましたが、原因は分かりません。
解決方法は、add_action(‘comment_post’,’xxx’);を呼び出すタイミングでした。
initやwp_loadedなどのWordpress的に早い段階でadd_action(‘comment_post’,’xxx’);してあげれば非常に素直に動きました。
最初にハマったときは、なぜかwp_headのタイミングで呼び出していて、動きませんでした。
以下、ダメだったなコードです。
add_action('wp_head', 'my_head');
function my_head(){
add_action('comment_post','my_comment_post');
}
これだと動きません。
以下、動いたコードです。
add_action('init', 'my_init');
function my_init(){
add_action('comment_post','my_comment_post');
}
海外にもチラホラとcomment_postが動かない人がいたようです。
そしてほとんど「普通に動きますよ?」というコメントをもらっていました。
きっと自分のように妙なタイミングで呼び出していたのではないだろうか、そして今後こんなことで貴重な時間を潰す人がいなくなるような世界平和をイメージしてこの記事をさらしておきます。
追記
なんとこの記事の2日前に同問題について解決なさっている記事を発見しました…。うーん、早くこの記事を発見できていればなぁ。
http://ja.forums.wordpress.org/topic/24733(※1)