次のような現在のプラグインディレクトリを取得する必要があります
_[wordpress_install_dir]/wp-content/plugins/plugin_name
_
(プラグインからgetcwd()
が呼び出された場合、インストールのルートである_[wordpress_install_dir]
_を返します)
手伝ってくれてありがとう
あなた自身の答え@Bogを見て、私はあなたが欲しいと思う;
$plugin_dir_path = dirname(__FILE__);
これにより、実際に必要な結果が得られます。
<?php plugin_dir_url(__FILE__); ?>
http://codex.wordpress.org/Function_Reference/plugin_dir_url
プラグインディレクトリを取得するには、Wordpress function plugin_basename($file)
。]を使用できます。したがって、次のように使用して、プラグインのフォルダーとファイル名を抽出します。
$plugin_directory = plugin_basename(__FILE__);
これを、プラグインディレクトリのURLまたはサーバーパスと組み合わせることができます。そのため、定数WP_PLUGIN_URL
を使用してプラグインディレクトリURLを取得するか、WP_PLUGIN_DIR
を使用してサーバーパスを取得できます。ただし、下のコメントで Mark Jaquith が言及されているように、これはプラグインがWordpress pluginディレクトリにある場合にのみ機能します。
詳しくは Wordpress codex をご覧ください。
$full_path = WP_PLUGIN_URL . '/'. str_replace( basename( __FILE__ ), "", plugin_basename(__FILE__) );
このリンクが役立つ場合があります: http://codex.wordpress.org/Determining_Plugin_and_Content_Directories 。
これを試して:
function PluginUrl() {
//Try to use WP API if possible, introduced in WP 2.6
if (function_exists('plugins_url')) return trailingslashit(plugins_url(basename(dirname(__FILE__))));
//Try to find manually... can't work if wp-content was renamed or is redirected
$path = dirname(__FILE__);
$path = str_replace("\\","/",$path);
$path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,"wp-content/")));
return $path;
}
echo PluginUrl();現在のプラグインのURLを返します。
プラグイン(plugin_dir_path)だけでなく、より一般的なディレクトリのディレクトリを取得する必要がある場合は、__DIR__
、呼び出されたファイルのディレクトリのパスを提供します。 functions.phpまたは別のファイルから使用できるようになりました!
説明:
ファイルのディレクトリ。インクルード内で使用された場合、インクルードされたファイルのディレクトリが返されます。これはdirname(
__FILE__
)。このディレクトリ名には、ルートディレクトリでない限り、末尾のスラッシュはありません。 1
WP 2.6.0から plugins_url()
メソッドを使用できます。
そのためにファイル内の現在のディレクトリパスを取得する場合は、次のようにplugin_dir_path()
関数を使用して定数__FILE__
および__DIR__
をマジックできます。
$dir_path = plugin_dir_path( __FILE__ );
CurrentDirectory Path:
/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/
__FILE__
マジック定数は、現在のディレクトリパスを返します。
現在のディレクトリから1レベル上に移動する場合。 __DIR__
マジック定数を次のように使用する必要があります。
現在のパス:
/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/
$dir = plugin_dir_path( __DIR__ );
1レベル上のパス:
/home/user/var/www/wordpress_site/wp-content/plugins/
__DIR__
マジック定数は、1レベル上のディレクトリパスを返します。