web-dev-qa-db-ja.com

WPプラグイン内のパス - 含める方法

私は私の最初のWPプラグインに取り組んでいます、そして私はファイルインクルードを動かすのに苦労しています。私のディレクトリ構造は次のようになります。

  • myPlugin
    • クラス
    • テンプレート
    • cSS
    • js
  • myplugin.php

私のメインプラグインファイル(myplugin.php)は、classesディレクトリに様々なファイルを含んでいる/必要としています、そしてそれはうまく働きます。ただし、classesディレクトリ内のファイルの1つに、templatesディレクトリからのファイルを含めると仮定されているplugins_url()からplugin_basename()からplugin_dir_path()まで、考えられることすべてを試してみましたが、うまくいくようには思えません。

このステートメントは、私が達成しようとしていることをどのようにして実現するのか、どのように考えればよいでしょうか。

1
Paul Srch

これをメインプラグインファイル(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' );

これらの定数は、メインプラグインローダーファイルやサブディレクトリ内のファイルなど、他のファイルからアクセスできます。プラグインが正しくロードされている限り。

それが役立つことを願っています。

3
Samuel Elh