依存関係を持つプラグインの作成


21

別のプラグインの機能を拡張しようとしています。元のプラグインとは異なる方法で使用するために、配列からデータを取得する必要があります。(この場合、WPMUDevカテゴリーとリストプラグイン)。コーデックスに何かありますか?別のプラグイン関数を使用できるプラグインを作成するにはどうすればよいですか?それらを拡張して親ノード関数を構築できますか?これらのプラグインがクラスを使用しているか、単なる関数を使用しているかはわかりません。

プラグインからサイドバーウィジェット(フォームオプション要素内)にデータを取得しようとしていますが、最終的にはカスタムショートコードを使用してコンテンツエリアにもこれを使用します。今のところ、始める場所が必要です。


4
FWIWこのまさにトピックに関するトラックチケットがありますcore.trac.wordpress.org/ticket/22316
ノークロス

回答:


22

はい、別のプラグインを拡張するプラグインを作成できます。以下に、あなたがどうやってそれを進めるかについてのいくつかのアイデアを示します。

  1. プラグインは、WordPressコアと同じように、独自のアクションを設定し、フックを(do_actionおよびapply_filter関数を使用して)フィルタリングできます。ターゲットとするプラグインがこれを行う場合、これらのフックを使用して機能を変更できます。

  2. プラグインがオブジェクト指向の構造を使用する場合、クラスを拡張し、元のプラグインに基づいて構築できます。

  3. 元のプラグインによってデータベースに保存されたデータを読み取り、プラグインコードで使用できます。

  4. プラグインがアクティブでロードされていることを確認した後、好きな元のプラグインから任意の関数を呼び出すことができます(以下を参照)。戻り値以外に関数が持つ可能性のある影響に注意してください。

元のプラグインがアクティブになっているかどうかを確認する必要があります。is_plugin_active関数を使用できます。ただし、これは管理ページでのみ機能します。または、function_existsまたはclass_existsを使用して、元のプラグインの特定の関数またはクラスが使用可能かどうかを確認できます。これにより、実行されていることがわかります。

元のプラグインが更新されるたびに、新しいバージョンでプラグインをテストして、プラグインと競合する可能性のある新しいものを探す必要があることに注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.