要件が満たされていない場合は、次のコードを使用してWordPressプラグインを無効にします。
public function activate() {
if (!$this->check_requirements()) {
deactivate_plugins(plugin_basename(__FILE__));
wp_redirect(admin_url('plugins.php'));
exit;
}
}
Activate()関数は、プラグインがアクティブ化されたときに呼び出されます。何が起こったのかを説明するメッセージをユーザーに追加したいです。それをする方法はありますか?
実際には、もっと良い方法があります。
私のプラグインはすべてPHP 5を必要とします。最近まで、これはWordPressの要件ではなかったので、多くの人が重要なPHP機能を欠いているシステムに私のプラグインをインストールしようとしました。プラグインが動作することを確認し、そうでない場合はメッセージを表示するように、プラグインにチェックをいくつか追加しました。
しかし私はプラグインをアクティブにしています。それは機能しません。そうすれば、ユーザーが自分のサーバーを更新するためのアクションを取るか、私のプラグインを無効にするまでメッセージはそこに表示されます。
これが私がしていることの要旨です...
function _my_plugin_php_warning() {
echo '<div id="message" class="error">';
echo ' <p>My Plugin requires at least PHP 5. Your system is running version ' . PHP_VERSION . ', which is not compatible!</p>';
echo '</div>';
}
if ( version_compare( PHP_VERSION, '5.0', '<' ) ) {
add_action('admin_notices', '_my_plugin_php_warning');
} else {
require_once( 'lib/class.my_plugin_core_functions.php' );
}
私は自分のプラグインのメインPHPファイルにこのコードを入れました。それからサイトがロードされるたびに、私のプラグインはそのサイトが正しいバージョンのPHPを持っていることを確認し、必要なファイルの残りをロードするか(require_once()
呼び出し)またはadminセクションに通知を追加します。 add_action()
呼び出し).