MENU

is_plugin_active()– tax –

is_plugin_active() は、特定のプラグインがアクティブかどうかを確認するための関数です。この関数はプラグインの有効化状態を確認し、条件に応じた処理を行う際に使用されます。

目次

機能の説明

is_plugin_active() は、WordPressの管理画面で有効化されたプラグインをプログラムで確認するための便利なテンプレートタグです。指定したプラグインがアクティブであれば true を返し、無効または存在しない場合は false を返します。

この関数は主にテーマや他のプラグイン内で、依存するプラグインが有効かどうかをチェックするために使われます。

if (is_plugin_active('akismet/akismet.php')) {
    echo 'Akismetプラグインは有効です。';
} else {
    echo 'Akismetプラグインは無効です。';
}

使い方の解説

is_plugin_active() は、プラグインのメインファイル(プラグインディレクトリ名/プラグインファイル名.php)のパスを指定して、プラグインの有効化状態を判定します。この関数を使用するためには、wp-admin/includes/plugin.php をロードする必要があります。

include_once(ABSPATH . 'wp-admin/includes/plugin.php');

引数

$plugin (必須)

チェックするプラグインのメインファイルのパス(ディレクトリ名/ファイル名.php)。

例: 'akismet/akismet.php''woocommerce/woocommerce.php'

戻り値

true

プラグインが有効になっている場合に返されます。

false

プラグインが無効、または存在しない場合に返されます。

オプション

この関数には直接的なオプションはありません。ただし、プラグインのチェックにはメインファイルの正確なパスを指定する必要があります。

使用例

include_once(ABSPATH . 'wp-admin/includes/plugin.php');

if (is_plugin_active('contact-form-7/wp-contact-form-7.php')) {
    echo 'Contact Form 7が有効です。';
} else {
    echo 'Contact Form 7は無効です。';
}
  1. include_once: wp-admin/includes/plugin.php ファイルをインクルードすることで、is_plugin_active() を使用可能にします。
  2. is_plugin_active(): 'contact-form-7/wp-contact-form-7.php' で、Contact Form 7プラグインの有効化を確認します。
  3. プラグインの状態に応じて異なるメッセージを表示します。

一緒に使うことが多い関連タグ

is_plugin_active_for_network()

マルチサイト環境で、指定したプラグインがネットワーク全体で有効化されているかを確認します。

if (is_plugin_active_for_network('akismet/akismet.php')) {
    echo 'Akismetはネットワーク全体で有効です。';
} else {
    echo 'Akismetはネットワークで有効化されていません。';
}

追加情報を取得したい場合

プラグインの状態に関するさらなる情報を取得する場合、get_plugins() 関数を使用して、インストールされているすべてのプラグイン情報を取得できます。

get_plugins() でプラグイン情報を取得

include_once(ABSPATH . 'wp-admin/includes/plugin.php');
$plugins = get_plugins();
foreach ($plugins as $path => $details) {
    echo 'プラグイン名: ' . $details['Name'] . '<br>';
    echo 'バージョン: ' . $details['Version'] . '<br>';
}

出力できる情報

  • Name: プラグイン名
  • Version: プラグインのバージョン
  • Author: プラグイン開発者
  • Description: プラグインの説明

想定されるトラブル

プラグインパスの間違い

正確なプラグインのメインファイルのパスを指定してください(例: 'akismet/akismet.php')。

マルチサイト環境で意図した結果が得られない

is_plugin_active() ではなく is_plugin_active_for_network() を使用します。

Q&A

マルチサイトで特定のプラグインが有効かどうかを確認する方法は?

is_plugin_active_for_network() を使用して、プラグインがネットワーク全体で有効かどうかを確認します。

プラグインがインストールされているかどうかだけを確認できますか?

はい、get_plugins() 関数でインストール済みのプラグインを取得し、その中に目的のプラグインが含まれているかを確認できます。

is_plugin_active() はフロントエンドでも使えますか?

いいえ、通常は管理画面の関数なので、フロントエンドで使用する場合は wp-admin/includes/plugin.php をインクルードする必要があります。

まとめ

is_plugin_active() は、指定したプラグインが有効かどうかをプログラムで確認するための関数です。管理画面用の wp-admin/includes/plugin.php をインクルードすることで、使用可能になります。依存関係のあるプラグインが有効化されているかどうかを確認する際に便利です。

カスタマイズ例

1