web-dev-qa-db-ja.com

Plugin_dir_path(__FILE__)のプラグインファイルを必要とする/含む問題

私はWordPressプラグインを書き込もうとしています。私のプロジェクトには3つのPHPファイルがあります。

  1. 私のプラグインファイル
  2. プラグイン用のウィジェット
  3. データインストール

プラグインのアクティベーション時にデータテーブルをインストールする必要があります。そのために、データインストールファイルにプラグイン用のテーブルを作成するコードを書きました。しかし、このファイルを使ってデータテーブルを作成することはできません。

プラグインファイルにデータインストールファイルとウィジェットファイルを含めるためのコードは次のとおりです。

define ( 'OTHER_FILES_PATH', plugin_dir_path( __FILE__ ) );
require_once( OTHER_FILES_PATH . '/data_installation.php' );
require_once( OTHER_FILES_PATH . '/plugin_widget.php' );

私の問題は、プラグインファイルにデータインストールコードを入れるとうまくいくことですが、それを別のファイルに入れると(データインストール)、プラグイン用のテーブルを作成できなくなります。

私が何か間違いを犯しているかどうか私に知らせてください。

4
Bushra Shahid

plugin_dir_path() を使うのと同じように:

plugin_dir_path( __FILE__ );

次のようなものが返されます。

/var/www//wordpress/wp-content/plugins/your-plugin/

それで、それは末尾のスラッシュを追加します。

これはtrailingslashit( dirname( $file ) );のラッパーです。

だからあなたの呼び出しでファイルの前にスラッシュを削除します:

require_once plugin_dir_path( __FILE__ ) . 'file.php';
4
Nicolai