1

システムが特定の要件を満たしていない場合に、ユーザーがプラグインをアクティブ化するのを防ぐ適切な方法に興味があります。チェックを行うのは簡単で、それについては何の助けも必要ありません。WordPressに終了してエラーメッセージを表示するように指示する方法にもっと興味があります。

現在、アクティベーションフック方式の両方を試しexit($error_message)ました。die($error_message)私のメッセージが表示され、プラグインがアクティブ化されていない間、致命的なエラーを示すメッセージも表示されます(下の画像を参照)。

ここに画像の説明を入力してください

致命的なエラーを表示せずに適切なエラーボックスにメッセージを表示するより良い方法を知っている人はいますか?新しいユーザーがそれを見るのは本当に悪いようです。

よろしくお願いします。

4

2 に答える 2

1

お気づきかもしれませんが、これは少し文書化されていません。の代わりにdie()、次のようにします。

$plugin = dirname(__FILE__) . '/functions.php';
deactivate_plugins($plugin);
wp_die('<p>The <strong>X</strong> plugin requires version WordPress 2.8 or greater.</p>','Plugin Activation Error',array('response'=>200,'back_link'=>TRUE));

wp_die()の上の行は、このプラグインを非アクティブ化するためのものです。この場合、関数.phpを使用することに注意してください。これは、プラグイン名のメタデータコメント宣言があるためです。別のファイルを使用する場合は、上記のコードを変更してください。パスは一致に対して非常に固有であることに注意してください。したがって、パスが通常どのようになるかを確認したい場合は、を使用print_r(get_option('active_plugins'));die();してパスをダンプし、必要なパスがわかるようにします。プラグインコードの残りの部分があるplugin_code.phpがあり、それがfunctions.phpと同じディレクトリにあったのでdirname(__FILE__)、適切なパスを指定するだけで済みました。

wp_die()ステートメントの終わりは、バックリンクを提供し、エラー500(wp_die()のデフォルトのApacheコード)を防ぐため、重要であることに注意してください。

于 2012-06-04T01:34:23.340 に答える
0

しかし、それは単なるアイデアです。ワードプレスのバージョンを確認して比較し、phpを使用してカスタム例外/エラーを処理してみてください。PHP 5.0 try catchは、それを行うための良い方法です。ここにいくつかのリソースがあります。

http://www.w3schools.com/php/php_exception.asp

http://php.net/manual/en/internals2.opcodes.throw.php

最初のリンクを試すことができます。それはかなり基本的です。ありがとう!情報がお役に立てば幸いです。

于 2011-03-28T18:43:02.167 に答える