私はプラグインを開発していますが、アクティベーションフレーズの間、私は常にバグに直面しています。しかし、エラーメッセージを表示するのは簡単な方法ではありません。ものをエコーすると「予期しない出力」エラーになるからです。 admin_messageフックを試しましたが、うまくいきません。ライセンス認証の何らかの段階が理由で失敗した場合、どうすればユーザーに警告できますか?
テスト目的のためにログシステム(php_error.log)を使うことができます。
error_log('Plugin activated', 0);
// Check for DB table existance
if(!$this->hasDBTable()){
error_log('Database not present', 0);
if($this->createCELabelsDBTables()){
error_log('Database was created.', 0);
} else {
error_log('Error creating the CE Labels Plugin db tables!', 0);
}
} else {
error_log('Database OK', 0);
}
"Headers already sent"エラーを表示せずにエラーをユーザーに出力するには、php関数trigger_errorを使用します。
trigger_error('PLUGIN OK',E_USER_ERROR);
Wordpressでは常にE_USER_ERRORでなければならず、そうでなければメッセージは表示されません。
私はそれを使用しているので私はerror_logが完璧に動作することを知っていますが、trigger_errorは必須情報を表示します。それを試してみて、あなたの自己のために参照してください。
register_activation_hook( __FILE__, 'my_activation_func' ); function my_activation_func() {
file_put_contents(__DIR__.'/my_loggg.txt', ob_get_contents());
}
このコードをプラグインに挿入し、エラーが発生したら、プラグインフォルダ内の "my_loggg.txt"を表示します。
1)内部ページまたはプラグインページの余分なスペースを削除してください。
2)ページまたはプラグインページのインラインスタイルを削除します。
それはいつも私のために働いた。私は何度も同じ方法を使っています。プラグインページまたはWordpressページに問題がある場合。
よろしく、
ハイツナガパル