プラグインがWordPressでアクティブかどうかを確認する方法[3つの方法]
公開: 2020-08-08WordPress開発者として、プラグインを開発する際のコードで最も一般的なチェックの1つは、プラグインのアクティブ化のステータスです。プラグインがアクティブかどうかをチェックする必要がある理由はいくつかあります。 いくつか言及すると、依存プラグインがアクティブであるかどうか、または同じことを行う同様のプラグインであるかどうかを確認できます。
いずれの場合も、プラグインベースファイルにチェックを追加して、ターゲットのプラグインがアクティブかどうかを確認する必要があります。 WooCommerceクラスを拡張するWooCommerceプラグインを開発している場合の典型的な例。
たとえば、WooCommerceペイメントゲートウェイプラグインを開発している場合、プラグインがアクティブ化された直後、またはできればプラグインアクティブ化フック中にWooCommerceがアクティブであるかどうかを確認する必要があります。
WordPressプラグインがアクティブかどうかを確認する
幸い、WordPressコアには、特定のプラグインがアクティブであるかどうかをチェックし、trueまたはfalseを返すすぐに使用できるメソッドまたは関数があります。
この関数はboolean - true or false
)を返し、特にアクティベーションフック中にコードに簡単に組み込むことができます。
チェックしているプラグインがアクティブでない場合は、ユーザーがプラグインをインストールするためのヘッダー通知を表示できます。
プラグインの機能と競合する可能性のある別のプラグインをユーザーに非アクティブ化させたい場合にも、同じ機能を適用できます。
関数is_plugin_active()クイックレビュー
関数is_plugin_active()
を簡単に見て、プロジェクトで効果的に使用する方法を学びましょう。
is_plugin_active( string $plugin )
この関数は、pluginsディレクトリ内のプラグイン相対パスへのパスを表す文字列パラメータを取ります。
関数is_plugin_active($ plugin){ return in_array($ plugin、(array)get_option( 'active_plugins'、array()))|| is_plugin_active_for_network($ plugin); }
woocommerce/woocommerce.php
に示されているように、
下の画像:
関数is_plugin_active()
は、次のコードスニペットを使用して、プラグインがバックエンドでアクティブであるかどうかを確認するために使用できます。
<?php / ** *プラグインを検出します。 管理エリアでのみ使用します。 * / if(is_plugin_active( 'plugin-directory / plugin-file.php')){ //プラグインがアクティブ化されます }
たとえば、WooCommerceがアクティブかどうかを確認する場合は、次のコードを使用して確認できます。
<?php / ** *管理エリアでWooCommerceプラグインがアクティブかどうかを確認します * / if(is_plugin_active( 'woocommerce / woocommerce.php')){ // WooCommerceプラグインがアクティブ化されました }
プラグインベースファイルとベースディレクトリ
ご覧のとおり、上の画像を使用して説明したように、WooCommerceプラグインのベース名とフォルダーを使用しました。
プラグインのベース名は、メインファイルである単一ファイルプラグインのファイル名であり、ディレクトリ/フォルダと一致する場合もありますが、すべての場合とは一致しません。一部のプラグインは異なります。
プラグインがマルチサイトでアクティブかどうかを確認します
WordPressマルチサイトの場合、プラグインがマルチサイトネットワークでアクティブかどうかを開発者が確認できるように設計された機能があります。 関数は:
is_plugin_active_for_network( string $plugin )
この関数はis_plugin_active(string $ plugin)関数と同じように機能し、プラグインがWordPressマルチサイトネットワーク全体でアクティブであるかどうかを判断するために同じ方法で適用できます。
<?php function is_plugin_active_for_network($ plugin){ if(!is_multisite()){ falseを返します。 } $ plugins = get_site_option( 'active_sitewide_plugins'); if(isset($ plugins [$ plugin])){ trueを返します。 } falseを返します。 }
プラグインがアクティブかどうかを確認する他の方法
プラグインがアクティブかどうかを確認するために使用できる方法は他にもあります。 ネイティブのphp関数class_existsまたはfunction_existsを使用して確認できます。 これらのメソッドは、プラグインまたは関数のクラスがそれぞれ存在するかどうかをチェックします。
function_exists()を使用してプラグインがアクティブかどうかを確認する
プラグインの関数またはメソッドを知っている場合は、以下のスニペットのようにfunction_exists
メソッドを使用して確認できます。
<?php if(function_exists( 'plugin_function')){ //プラグインはアクティブです }
class_exists()を使用してプラグインがアクティブかどうかを確認する
プラグインのメインクラスを知っている場合は、以下のスニペットのようにclass_exists
メソッドを使用して確認できます。
<?php if(class_exists( 'plugin_class')){ //プラグインはアクティブです }
以下のコードスニペットのように、これらのメソッドのいずれかをフックして、 plugins_loaded
フックでプラグインがアクティブかどうかを確認できます。
<?php / * *プラグインがアクティブかどうかをテストします * / 関数njengah_is_plugin_name_active(){ if(class_exists( 'Plugin_Class')){ //アクティブなので、ここでロジックを実行します } } add_action( 'plugins_loaded'、 'njengah_is_plugin_name_active');
結論
この投稿では、別のプラグインまたはテーマを開発しているときにプラグインがアクティブであるかどうかを確認するさまざまな方法を取り上げました。 これらは、すべてのWordPress開発タスクに適用できる便利な方法です。
同様の記事
- プラグインなしでWordPressお問い合わせフォーム7スパムを停止する方法
- プラグインを使用せずにWordPressでログインページを作成する方法
- 顧客からのフィードバックに最適な26のWooCommerceプラグイン
- あなたのサイトを保護するための30の最高のWordPressセキュリティプラグイン
- WooCommerceチェックアウトページに削除アイコンを追加する方法
- WoocommerceでReturnto ShopLinkを変更する方法
- Woocommerceで注文IDを取得する方法
- チェックアウトページのカスタマイズに最適な23のWooCommerceプラグイン
- WooCommerceでカートの小計を非表示にする方法または小計の行を削除する方法
- WooCommerceにログインした後にカートにリダイレクトする方法
- WordPressページの更新時にリダイレクトする方法»ページの更新PHPの検出
- 実用的な例を使用してWordPressでカテゴリ名を表示する方法
- 削除する方法がカートに追加されましたメッセージWooCommerce
- 例を使用してWordPressでカスタムクエリページネーションを作成する方法
- カートをスキップしてチェックアウトページにリダイレクトする方法WooCommerce
- WooCommerceで価格の前にテキストを追加する方法»価格の前にテキストを追加する
- WordPressでログインしたユーザー情報を取得する方法
- WordPressにログインしていない場合にユーザーをリダイレクトする方法»ページリダイレクト
- WooCommerceを変更する方法 'カートに追加'通知
- WooCommerceで在庫状況テキストを表示する方法»在庫ありと在庫切れ