web-dev-qa-db-ja.com

プラグイン起動時のメッセージ出力方法

私はプラグインを開発していますが、アクティベーションフレーズの間、私は常にバグに直面しています。しかし、エラーメッセージを表示するのは簡単な方法ではありません。ものをエコーすると「予期しない出力」エラーになるからです。 admin_messageフックを試しましたが、うまくいきません。ライセンス認証の何らかの段階が理由で失敗した場合、どうすればユーザーに警告できますか?

9
lulalala

テスト目的のためにログシステム(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は必須情報を表示します。それを試してみて、あなたの自己のために参照してください。

9

溶液:

register_activation_hook( __FILE__, 'my_activation_func' ); function my_activation_func() {
    file_put_contents(__DIR__.'/my_loggg.txt', ob_get_contents());
}

このコードをプラグインに挿入し、エラーが発生したら、プラグインフォルダ内の "my_loggg.txt"を表示します。

2
T.Todua

1)内部ページまたはプラグインページの余分なスペースを削除してください。

2)ページまたはプラグインページのインラインスタイルを削除します。

それはいつも私のために働いた。私は何度も同じ方法を使っています。プラグインページまたはWordpressページに問題がある場合。

よろしく、

ハイツナガパル

0
hitesh nagpal