私は私の最初のWPプラグインに取り組んでいます、そして私はファイルインクルードを動かすのに苦労しています。私のディレクトリ構造は次のようになります。
私のメインプラグインファイル(myplugin.php
)は、classesディレクトリに様々なファイルを含んでいる/必要としています、そしてそれはうまく働きます。ただし、classesディレクトリ内のファイルの1つに、templatesディレクトリからのファイルを含めると仮定されている。 plugins_url()
からplugin_basename()
からplugin_dir_path()
まで、考えられることすべてを試してみましたが、うまくいくようには思えません。
このステートメントは、私が達成しようとしていることをどのようにして実現するのか、どのように考えればよいでしょうか。
これをメインプラグインファイル(myplugin.php
)に入れます。
defined( 'MY_PLUGIN_URL' ) || define( 'MY_PLUGIN_URL', plugin_dir_url(__FILE__) );
defined( 'MY_PLUGIN_PATH' ) || define( 'MY_PLUGIN_PATH', plugin_dir_path(__FILE__) );
他のコードの直前に、ファイルを含めるにはMY_PLUGIN_PATH
を、アセットを読み込むにはMY_PLUGIN_URL
を使用します。
例えば:
require_once MY_PLUGIN_PATH . 'templates/se.php';
wp_enqueue_style( 'my-css', MY_PLUGIN_URL . 'assets/css/style.css' );
これらの定数は、メインプラグインローダーファイルやサブディレクトリ内のファイルなど、他のファイルからアクセスできます。プラグインが正しくロードされている限り。
それが役立つことを願っています。