Wordpress

register_activation_hookを使用すると「予期しない出力」のエラーがでる

【問題】

register_activation_hookクラス内で使用しプラグイン作成する際に、「予期しない出力」や「header already sent」のエラーが出る。

 

【解決】

class TestClass{

  $property = '';

  function __construct(){
    if(function_exists('register_activation_hook')){
      register_activation_hook(__FILE__, array($this,'testFunc'));
    }

  public function testFunc(){
    $this->property = 'property';
  }

  }
}

register_activation_hookで実行する関数はprivateではなくpublicにしましょう。

 

register_activation_hookで実行する関数内ではechoなどの出力をしないようにしましょう。

 

【備考】

①フックして実行する関数がprivate関数だとエラーになります。

②関数を実行する際にechoをするとエラーになります。