web-dev-qa-db-ja.com

プラグインのphpファイルを他のプラグイン関数ファイルに含める方法

プラグインBの機能を使用してプラグインAのショートコードの出力をカスタマイズする必要があります。したがって、プラグインBの機能の値をチェックする条件を挿入することによってプラグインAのショートコード機能を変更しますこの機能をサポートするファイルrequire_once、require、includeをすべて試しましたが、次のようなエラーが表示されます。

require_once('../../pluginname/pluginfunctions.php');を使うとき

エラー警告:require_once():open_basedir制限が有効になっています。ファイル(../../ magicmembers/core/libs/functions/mgm_misc_functions.php)が許可されたパス内にありません

include(WP_PLUGIN_URL . '/pluginname/pluginfunctions.php');を使うとき

エラー警告:include():サーバー設定でURLファイルアクセスが無効になっています

正しい方法は何ですか?

6
vadims

最初のエラーメッセージは、サーバーによって設定されたファイルを含めることができる場所に制限があることを意味します。あなたが試すことができます

require_once ABSPATH . '/wp-content/plugins/pluginname/pluginfunctions.php';

しかし、それがうまくいくかどうかはわかりません。

2番目のインクルードでは、セキュリティ上の理由からサーバーによって無効にされているURLを含めようとしています。

しかし、なぜあなたはプラグインBの機能を含める必要があるのですか?プラグインBが存在する場合、それはおそらくアクティブ化されていることを意味します。つまり、ファイルを具体的にインクルードする必要なしにプラグインAから直接関数を使用できることを意味します。

2
pbd

使用する正しい関数 は次のとおりです。 plugin_dir_path();

例:

include_once plugin_dir_path( __FILE__ ).'plugin-functions.php';
0
kaiser