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

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

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(共通の使い方)
(残りを和訳。)
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
== 説明 ==
+
{{CheckTrans}}
  
プラグインのURLを自動で生成してくれる関数。
+
== 説明 ==
  
Retrieves the absolute URL to the [[Glossary#Plugin|plugins]] or mu-plugins directory (without the trailing slash) or, when using the <tt>$path</tt> argument, to a specific file under that directory. You can either specify the <tt>$path</tt> argument as a hardcoded path relative to the plugins or mu-plugins directory, or conveniently pass [http://php.net/manual/en/language.constants.predefined.php <tt>__FILE__</tt>] as the second argument to make the <tt>$path</tt> relative to the parent directory of the current PHP script file.
+
[[用語集#Plugin|plugins]] または mu-plugins ディレクトリーの絶対 URL を取得します(末尾のスラッシュなし)。<tt>$path</tt> を使えば、そのディレクトリー下の特定のファイルを対象にできます。<tt>$path</tt> 引数には plugins または mu-plugins ディレクトリーからの相対パスを直接書きます。または簡単に [http://php.net/manual/en/language.constants.predefined.php <tt>__FILE__</tt>] を第2引数へ渡せば、<tt>$path</tt> を現在の PHP スクリプトファイルの親ディレクトリーからの相対パスとして扱うことができます。
  
 
== 使い方 ==
 
== 使い方 ==
12行目: 12行目:
  
 
  <?php $url = plugins_url(); ?>
 
  <?php $url = plugins_url(); ?>
 +
  
 
== パラメータ ==
 
== パラメータ ==
  
{{Parameter|$path|文字列|取得したいプラグインファイルのパスのURL, プラグインからの相対パス、もしくはmu-plugin のディレクトリーもしくは指定された<tt>$plugin</tt>|オプション}}
+
{{Parameter|$path|文字列|URL を取得したいプラグインファイルのパス。plugins または mu-plugins ディレクトリーからの相対パス。<tt>$plugin</tt> を指定すると、そこからの相対パス。|オプション}}
{{Parameter|$plugin|文字列|plugins または mu-plugins のディレクトリーパス、of which parent directory you want the <tt>$path</tt> to be relative to.|オプション}}
+
{{Parameter|$plugin|文字列|plugins または mu-plugins の代わりに、<tt>$path</tt> が相対パスの起点とする親ディレクトリー。|オプション}}
  
 
== 戻り値 ==
 
== 戻り値 ==
  
{{Return||文字列| プラグインやMUプラグインディレクトリへの絶対URL(末尾のスラッシュなし)または必要に応じてそのディレクトリ内のファイルを返す。}}
+
{{Return||文字列|plugins または mu-plugins ディレクトリーへの絶対 URL(末尾のスラッシュなし)。オプション指定によっては、そのディレクトリー内のファイルが対象となる。}}
  
 
== 用例 ==
 
== 用例 ==
30行目: 31行目:
 
  ?>
 
  ?>
  
The <tt>$plugins_url</tt> variable will equal to the absolute URL to the plugins or mu-plugins directory, e.g. ''"<nowiki>http://www.example.com/wp-content/plugins</nowiki>"''.
+
<tt>$plugins_url</tt> 変数は plugins または mu-plugins ディレクトリーの絶対 URL になります。例えば: ''"<nowiki>http://www.example.com/wp-content/plugins</nowiki>"''
  
=== 共通の使い方 ===
+
=== 一般的な使い方 ===
  
<tt>plugins_url()</tt>関数は、一般的に[[Writing a Plugin#Plugin_Files|プラグインファイル]]で使用されています。
+
<tt>plugins_url()</tt> 関数は一般的に[[Writing a Plugin#Plugin_Files|プラグインファイル]]で使われます。<tt>$plugin</tt> パラメータに [http://php.net/manual/en/language.constants.predefined.php <tt>__FILE__</tt>] PHP マジック定数を渡すと、<tt>$path</tt> はそのプラグインファイルの親ディレクトリーからの相対パスと見なされます:
Passing the [http://php.net/manual/en/language.constants.predefined.php <tt>__FILE__</tt>] PHP magic constant in the place of <tt>$plugin</tt> parameter makes the <tt>$path</tt> relative to the parent directory of that file:
+
  
 
  <?php
 
  <?php
41行目: 41行目:
 
  ?>
 
  ?>
  
上記は、このHTMLマークアップを出力するであろう。:
+
上記は、次のような HTML マークアップを出力するでしょう:
  
 
  <img src="<nowiki>http://www.example.com/wp-content/plugins/my-plugin/images/wordpress.png</nowiki>">
 
  <img src="<nowiki>http://www.example.com/wp-content/plugins/my-plugin/images/wordpress.png</nowiki>">
  
If you are using the <tt>plugins_url()</tt> function in a file that is nested inside a subdirectory of your plugin directory, you should use PHP's [http://php.net/manual/en/function.dirname.php dirname()] function:
+
プラグインディレクトリー内のサブディレクトリーへ置かれたファイルの中で <tt>plugins_url()</tt> 関数を使う場合、PHP の [http://php.net/manual/en/function.dirname.php dirname()] 関数を使うべきです:
  
 
  <?php
 
  <?php
51行目: 51行目:
 
  ?>
 
  ?>
  
上記は、このHTMLマークアップを出力するであろう。:
+
上記は、次のような HTML マークアップを出力するでしょう:
 +
 
 
  <img src="<nowiki>http://www.example.com/wp-content/plugins/images/wordpress.png</nowiki>">
 
  <img src="<nowiki>http://www.example.com/wp-content/plugins/images/wordpress.png</nowiki>">
  
== 注 ==
+
<p class="information">訳注: 出力例のように1階層分飛ばされるので、サブディレクトリーでこのようにすれば、プラグインディレクトリーの親ディレクトリーを正しく指定できます。</p>
  
* 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]].
 
* 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).
 
  
== 更新履歴 ==
+
== 参考 ==
 +
 
 +
* 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|推奨されない]] ことに注意してください。
 +
 
 +
* [[関数リファレンス/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]] は他のプラグインより先に実行されるのでこのフィルターを利用できます。)
 +
 
 +
== 変更履歴 ==
  
 
* 新規導入: [[Version 2.6|2.6.0]]
 
* 新規導入: [[Version 2.6|2.6.0]]
  
==ソースファイル ==
+
== ソースファイル ==
  
<tt>plugins_url()</tt> は {{Trac|wp-includes/link-template.php}}にあります。
+
<tt>plugins_url()</tt> は {{Trac|wp-includes/link-template.php}} にあります。
  
== 関連 ==
+
== 関連項目 ==
  
 
{{Tag Plugin Paths}}
 
{{Tag Plugin Paths}}
  
 
{{Directory URL Tags}}
 
{{Directory URL Tags}}
 
{{NeedTrans}}
 
  
 
{{Tag Footer}}
 
{{Tag Footer}}
  
{{原文|Function_Reference/plugins_url|150490}} <!--04:47, 1 April 2015‎ Tychay 版 -->
+
{{原文|Function_Reference/plugins_url|152061}} <!--05:18, 12 June 2015 Miccweb 版 -->
 +
 
 +
{{DEFAULTSORT:Plugins_url}}
 +
[[Category:関数]]
 +
 
 +
[[en:Function_Reference/plugins_url]]

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最新版との差分