• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「関数リファレンス/plugins url」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(残りを訳しましたが「参考」セクションがまだです!)
(残りを和訳。)
 
1行目: 1行目:
{{NeedTrans|一部}}
+
{{CheckTrans}}
  
 
== 説明 ==
 
== 説明 ==
60行目: 60行目:
 
== 参考 ==
 
== 参考 ==
  
* Uses the <tt>WP_PLUGIN_URL</tt> or, in the case the <tt>$plugin</tt> path begins with the <tt>WPMU_PLUGIN_DIR</tt> path, the <tt>WPMU_PLUGIN_URL</tt> constant internally, to compose the resultant URL. Note that the direct usage of WordPress internal constants [[Determining Plugin and Content Directories|is not recommended]].
+
* URL を合成するとき定数 <tt>WP_PLUGIN_URL</tt>、または <tt>WPMU_PLUGIN_URL</tt><tt>$plugin</tt> パスが <tt>WPMU_PLUGIN_DIR</tt> パスで始まるとき)を使います。WordPress の内部定数を直接使うのは [[Determining Plugin and Content Directories|推奨されない]] ことに注意してください。
* Uses [[Function Reference/apply_filters|<tt>apply_filters()</tt>]] to apply "plugins_url" filters on the resultant URL, with the following line of code: <pre>return apply_filters( 'plugins_url', $url, $path, $plugin );</pre>
+
 
* The <tt>plugins_url()</tt> function should not be called in the global context of plugins, but rather in a [[Glossary#Hook|hook]] like "init" or "admin_init" to ensure that the "plugins_url" filters are already hooked at the time the function is called. This is vital for many site configurations to work, and if <tt>plugins_url()</tt> is called in the global context of a plugin file it cannot be filtered by other plugins (though [[Must Use Plugins|mu-plugins]] are able to filter it because they run before any other plugins).
+
* [[関数リファレンス/apply_filters|<tt>apply_filters()</tt>]] を使い、合成した URL に "plugins_url" フィルターを適用します。これは次のようなコードで行われます: <pre>return apply_filters( 'plugins_url', $url, $path, $plugin );</pre>
 +
 
 +
* <tt>plugins_url()</tt> 関数はプラグインのグローバルなコンテキスト内で呼び出してはいけません。そうではなく、この関数が呼び出された時点で "plugins_url" フィルターが確実にフック済みである "init" または "admin_init" などの [[Glossary#Hook|フック]] 内で呼び出すのは大丈夫です。これはいろいろな構成のサイトが正しく動作するためにとても重要です。もしプラグインファイルのグローバルなコンテキストから <tt>plugins_url()</tt> を呼び出すと、他のプラグインがこのフィルターを利用できません。(ただし [[Must Use Plugins|mu-plugins]] /[[:en:Must Use Plugins|en]] は他のプラグインより先に実行されるのでこのフィルターを利用できます。)
  
 
== 変更履歴 ==
 
== 変更履歴 ==

2016年4月17日 (日) 16:54時点における最新版

この項目「関数リファレンス/plugins url」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

説明

plugins または mu-plugins ディレクトリーの絶対 URL を取得します(末尾のスラッシュなし)。$path を使えば、そのディレクトリー下の特定のファイルを対象にできます。$path 引数には plugins または mu-plugins ディレクトリーからの相対パスを直接書きます。または簡単に __FILE__ を第2引数へ渡せば、$path を現在の PHP スクリプトファイルの親ディレクトリーからの相対パスとして扱うことができます。

使い方

<?php plugins_url( $path, $plugin ); ?>

デフォルトの使い方

<?php $url = plugins_url(); ?>


パラメータ

$path
文字列) (オプション) URL を取得したいプラグインファイルのパス。plugins または mu-plugins ディレクトリーからの相対パス。$plugin を指定すると、そこからの相対パス。
初期値: なし
$plugin
文字列) (オプション) plugins または mu-plugins の代わりに、$path が相対パスの起点とする親ディレクトリー。
初期値: なし

戻り値

(文字列) 
plugins または mu-plugins ディレクトリーへの絶対 URL(末尾のスラッシュなし)。オプション指定によっては、そのディレクトリー内のファイルが対象となる。

用例

デフォルトの例

<?php
$plugins_url = plugins_url();
?>

$plugins_url 変数は plugins または mu-plugins ディレクトリーの絶対 URL になります。例えば: "http://www.example.com/wp-content/plugins"

一般的な使い方

plugins_url() 関数は一般的にプラグインファイルで使われます。$plugin パラメータに __FILE__ PHP マジック定数を渡すと、$path はそのプラグインファイルの親ディレクトリーからの相対パスと見なされます:

<?php
echo '<img src="' . plugins_url( 'images/wordpress.png', __FILE__ ) . '" > ';
?>

上記は、次のような HTML マークアップを出力するでしょう:

<img src="http://www.example.com/wp-content/plugins/my-plugin/images/wordpress.png">

プラグインディレクトリー内のサブディレクトリーへ置かれたファイルの中で plugins_url() 関数を使う場合、PHP の dirname() 関数を使うべきです:

<?php
echo '<img src="' . plugins_url( 'images/wordpress.png', dirname(__FILE__) ) . '" > ';
?>

上記は、次のような HTML マークアップを出力するでしょう:

<img src="http://www.example.com/wp-content/plugins/images/wordpress.png">

訳注: 出力例のように1階層分飛ばされるので、サブディレクトリーでこのようにすれば、プラグインディレクトリーの親ディレクトリーを正しく指定できます。


参考

  • URL を合成するとき定数 WP_PLUGIN_URL、または WPMU_PLUGIN_URL$plugin パスが WPMU_PLUGIN_DIR パスで始まるとき)を使います。WordPress の内部定数を直接使うのは 推奨されない ことに注意してください。
  • apply_filters() を使い、合成した URL に "plugins_url" フィルターを適用します。これは次のようなコードで行われます:
    return apply_filters( 'plugins_url', $url, $path, $plugin );
  • plugins_url() 関数はプラグインのグローバルなコンテキスト内で呼び出してはいけません。そうではなく、この関数が呼び出された時点で "plugins_url" フィルターが確実にフック済みである "init" または "admin_init" などの フック 内で呼び出すのは大丈夫です。これはいろいろな構成のサイトが正しく動作するためにとても重要です。もしプラグインファイルのグローバルなコンテキストから plugins_url() を呼び出すと、他のプラグインがこのフィルターを利用できません。(ただし mu-plugins /en は他のプラグインより先に実行されるのでこのフィルターを利用できます。)

変更履歴

ソースファイル

plugins_url()wp-includes/link-template.php にあります。

関連項目

プラグインのパス: plugins_url(), plugin_dir_url() /en, plugin_dir_path() /en, plugin_basename()

WordPress ディレクトリ:
home_url() ホーム URL http://www.example.com
site_url() サイトディレクトリ URL http://www.example.com または http://www.example.com/wordpress
admin_url() 管理画面ディレクトリ URL http://www.example.com/wp-admin
includes_url() /en インクルードディレクトリ URL http://www.example.com/wp-includes
content_url() /en コンテンツディレクトリ URL http://www.example.com/wp-content
plugins_url() /en プラグインディレクトリ URL http://www.example.com/wp-content/plugins
wp_upload_dir() /en アップロードディレクトリ URL (配列を返す) http://www.example.com/wp-content/uploads



関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function_Reference/plugins_url最新版との差分