在我的插件中,我希望在将注释插入数据库后完成操作。
为此我使用comment_post操作。这是我的代码
Codex : comment_post 是评论后立即触发的操作 插入数据库。
/*
* Plugin Fonctionalities Class
*/
class PluginFonctionalities {
public function __construct() {
add_action('comment_post', array('do_action_comment'));
}
public function do_action_comment( $comment_ID, $comment_approved ) {
if( 1 === $comment_approved ){
$outputFile = plugins_url('includes/output.txt', __FILE__);
$filehandle = fopen($outputFile, 'a') or die("File creation error.");
fwrite($fileHandle, "Example of message");
fclose($fileHandle);
}
}
}
但是当我提交评论表时没有任何事情发生。任何想法!?
答案 0 :(得分:2)
您需要将对象作为第一个数组元素传递,将方法作为第二个传递(即array callable syntax):
add_action( 'comment_post', array( $this, 'do_action_comment' ), 10, 2 );
这在食典委的"using with a class"中有所涉及。