当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「関数リファレンス/wp parse args」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(Related)
(最初の和訳。)
1行目: 1行目:
{{NeedTrans}}
+
{{CheckTrans}}
  
== Description ==
+
<div id="Description">
 +
== 説明 ==
 +
</div>
  
<tt>'''wp_parse_args'''</tt> is a generic utility for merging together an array of arguments and an array of default values. It can also be given a URL query type string which will be converted into an array (i.e. <tt>"id=5&status=draft"</tt>).
+
<tt>'''wp_parse_args'''</tt> は、引数の配列とデフォルト値の配列を結合するための汎用の関数です。
 +
URL クエリ形式の文字列(例えば <tt>"id=5&status=draft"</tt>)を与えて配列形式へ変換することもできます。
  
It is used throughout WordPress to avoid having to worry about the logic of defaults and input, and produces a stable pattern for passing arguments around. Functions like <tt>[[テンプレートタグ/query_posts | query_posts]]</tt>, <tt>[[テンプレートタグ/wp_list_comments | wp_list_comments]]</tt> and <tt>[[関数リファレンス/get_terms | get_terms]]</tt> are common examples of the simplifying power of <tt>wp_parse_args</tt>.
+
これはデフォルトや入力値の処理に気を揉まずに、渡された引数を一定のパターンに整えることができるよう、WordPress 全体で使われます。
 +
<tt>[[テンプレートタグ/query_posts | query_posts]]</tt> <tt>[[テンプレートタグ/wp_list_comments | wp_list_comments]]</tt> <tt>[[関数リファレンス/get_terms | get_terms]]</tt> のような関数が、<tt>wp_parse_args</tt> の「シンプルにするパワー」を利用した一般的な例です。
  
Functions that have an <tt>'''$args'''</tt> based setting are able to infinitely expand the number of values that can potentially be passed into them, avoiding the annoyance of super-long function calls because there are too many arguments to keep track of, many of whose only function is to override usually-good defaults on rare occasions.
+
とても多くの引数を持つ関数は、良いデフォルト値が用意されていて稀にしか変更しなくて済む場合でも(すべての引数を指定しなければならないので)関数の呼び出しが非常に長くなって面倒です。
 +
しかし <tt>'''$args'''</tt> (配列)形式のパラメータを持つ関数は、受け取れる引数を(仕組みの上では)無限に増やすことができるので、シンプルに呼び出すことができます。
  
== Usage ==
+
<div id="Usage">
<tt>'''wp_parse_args()'''</tt> is used inside a function you are defining to process incoming arguments. Below is an example of how <tt>wp_parse_args()</tt> can merge an array of defaults with an array of mixed arguments.
+
== 使い方 ==
 +
</div>
 +
 
 +
<tt>'''wp_parse_args()'''</tt> は、あなたが定義する関数の中で、与えられた引数を処理するために使います。
 +
下記の例は、どのように <tt>wp_parse_args()</tt> を使って、デフォルト値の配列と値が混在した引数の配列を結合できるかを示します。
  
 
<pre>
 
<pre>
 
/**
 
/**
  * Define the array of defaults
+
  * デフォルト値の配列を定義
 
  */  
 
  */  
 
$defaults = array(
 
$defaults = array(
24行目: 33行目:
  
 
/**
 
/**
  * Parse incoming $args into an array and merge it with $defaults
+
  * 与えられた $args を解析して配列に入れ、$defaults と結合
 
  */  
 
  */  
 
$args = wp_parse_args( $args, $defaults );
 
$args = wp_parse_args( $args, $defaults );
  
 
/**
 
/**
  * OPTIONAL: Declare each item in $args as its own variable i.e. $type, $before.
+
  * オプション:$args の要素を変数として宣言。例えば $type, $before のように。
 
  */  
 
  */  
 
extract( $args, EXTR_SKIP );
 
extract( $args, EXTR_SKIP );
 
</pre>
 
</pre>
  
== Parameters ==
+
<div id="Parameters">
{{Parameter|$args|array/string|Query string or Array of mixed arguments that will override the values in <tt>$defaults</tt>. }}
+
== パラメータ ==
Can be passed URL-query style
+
</div>
 +
 
 +
{{Parameter|$args|配列&#124;文字列|クエリ形式の文字列、または値が混在した引数の配列。<tt>$defaults</tt> 内の値を上書きする。}}
 +
:* URL クエリ形式の例
 
  type=post&posts_per_page=5&cat=1
 
  type=post&posts_per_page=5&cat=1
Or as an array definition
+
:* 配列形式の例
 
  array( 'type' => 'post', 'posts_per_page' => 5, 'cat' => '1' )
 
  array( 'type' => 'post', 'posts_per_page' => 5, 'cat' => '1' )
  
{{Parameter|$defaults|array|Array of default values that will be overridden by <tt>$args</tt>}}
+
{{Parameter|$defaults|配列|デフォルト値の配列。<tt>$args</tt> で上書きされる。}}
 +
 
 +
<div id="Example">
 +
== 用例 ==
 +
</div>
  
== Example ==
+
下記は、一つの <tt>$args</tt> 引数を使って好きな値を何でも指定できるように <tt>wp_parse_args</tt> を利用する関数の例です。
Below is an example function using the <tt>wp_parse_args</tt> system to manage its single <tt>$args</tt> argument, which could be given whatever values you wanted. In this case <tt>$args</tt> stores detailed display overrides, a pattern found in many WordPress functions.
+
この例では、多くの WordPress 関数で見られるような、デフォルトの表示内容を変更する文字列を <tt>$args</tt> に入れます。
  
 
<pre>
 
<pre>
 
/**
 
/**
  * Define a new function that uses $args and wp_parse_args()
+
  * $args wp_parse_args() を使う新しい関数を定義
 
  */
 
  */
 
function explain_parse_args( $args ) {
 
function explain_parse_args( $args ) {
 
$defaults = array (
 
$defaults = array (
  'text' => 'wp_parse_args() merges $args into $defaults',
+
  'text' => 'wp_parse_args() $args $defaults に結合します',
 
  'before' => "<nowiki><p></nowiki>",
 
  'before' => "<nowiki><p></nowiki>",
 
  'after' => "<nowiki></p></nowiki> \n",
 
  'after' => "<nowiki></p></nowiki> \n",
58行目: 74行目:
 
);
 
);
 
 
// Parse incoming $args into an array and merge it with $defaults
+
// 与えられた $args を解析して配列に入れ、$defaults と結合
 
$args = wp_parse_args( $args, $defaults );
 
$args = wp_parse_args( $args, $defaults );
 
 
// OPTIONAL: Declare each item in $args as its own variable i.e. $type, $before.
+
// $args の要素を変数として宣言:$text, $before, $after, $echo
 
extract( $args, EXTR_SKIP );
 
extract( $args, EXTR_SKIP );
  
73行目: 89行目:
  
 
/**
 
/**
  * Run our new function using the defaults (no $args)
+
  * 定義した関数をデフォルトのまま使う($args を指定しない)
  * This would print out:
+
  * このように表示される:
  * <p>wp_parse_args() merges $args into $defaults</p>
+
  * <p>wp_parse_args() $args $defaults に結合します</p>
 
  */
 
  */
 
explain_parse_args();
 
explain_parse_args();
  
 
/**
 
/**
  * Run the function with some options overridden with an array
+
  * 幾つかのオプションを配列で上書きして同じ関数を実行
  * This would echo the output with the modified text and before arguments:
+
  * $text と $before が変更されて表示される:
  * <p class='specialclass'>A better explanation</p>
+
  * <p class='specialclass'>もっと良い説明</p>
 
  */
 
  */
 
explain_parse_args( array (
 
explain_parse_args( array (
'text' => "A better explanation",
+
'text' => "もっと良い説明",
 
'before' => "<p class='specialclass'>"
 
'before' => "<p class='specialclass'>"
 
) );
 
) );
  
 
/**
 
/**
  * We can also pass in URL-style string-query and it will be converted
+
  * URL 形式のクエリ文字列として引数を与えることもできる
  * This would set $args['echo'] to 1 and $args['text'] to 0
+
  * 変換されて $args['echo'] 1, $args['text'] 0 になる
 
  */
 
  */
 
explain_parse_args( 'echo=1&text=0' );
 
explain_parse_args( 'echo=1&text=0' );
97行目: 113行目:
 
</pre>
 
</pre>
  
== Change Log ==
+
<div id="Change_Log">
 +
== 変更履歴 ==
 +
</div>
  
Since: [[Version 2.2|2.2.0]]
+
[[Version 2.2|2.2.0]] にて導入されました。
  
==Source File==
+
<div id="Source_File">
 +
== ソースファイル ==
 +
</div>
  
<tt>wp_parse_args()</tt> is located in {{Trac|wp-includes/functions.php}}.
+
<tt>wp_parse_args()</tt> {{Trac|wp-includes/functions.php}} にあります。
<!-- {{Trac|wp-includes/functions.php|trunk}} -->
+
  
==Related==
+
<div id="Related">
 +
== 関連資料 ==
 +
</div>
  
<tt>[[Function_Reference/shortcode_atts | shortcode_atts()]]</tt>
+
<tt>[[関数リファレンス/shortcode_atts | shortcode_atts()]]</tt>
 +
<tt>/[[Function_Reference/shortcode_atts | en]]</tt>
  
 
{{Tag Footer}}
 
{{Tag Footer}}
115行目: 137行目:
  
 
{{DEFAULTSORT:Wp_parse_args}}
 
{{DEFAULTSORT:Wp_parse_args}}
[[Category:Functions]]
+
[[Category:関数]]
  
 
[[en:Function Reference/wp_parse_args]]
 
[[en:Function Reference/wp_parse_args]]
 
[[it:Riferimento funzioni/wp_parse_args]]
 
[[it:Riferimento funzioni/wp_parse_args]]

2014年8月19日 (火) 19:22時点における版

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

wp_parse_args は、引数の配列とデフォルト値の配列を結合するための汎用の関数です。 URL クエリ形式の文字列(例えば "id=5&status=draft")を与えて配列形式へ変換することもできます。

これはデフォルトや入力値の処理に気を揉まずに、渡された引数を一定のパターンに整えることができるよう、WordPress 全体で使われます。 query_posts wp_list_comments get_terms のような関数が、wp_parse_args の「シンプルにするパワー」を利用した一般的な例です。

とても多くの引数を持つ関数は、良いデフォルト値が用意されていて稀にしか変更しなくて済む場合でも(すべての引数を指定しなければならないので)関数の呼び出しが非常に長くなって面倒です。 しかし $args (配列)形式のパラメータを持つ関数は、受け取れる引数を(仕組みの上では)無限に増やすことができるので、シンプルに呼び出すことができます。

使い方

wp_parse_args() は、あなたが定義する関数の中で、与えられた引数を処理するために使います。 下記の例は、どのように wp_parse_args() を使って、デフォルト値の配列と値が混在した引数の配列を結合できるかを示します。

/**
 * デフォルト値の配列を定義
 */ 
$defaults = array(
	'type' => 'post',
	'before' => "<p>",
	'after' => "</p> \n",
	'echo' => TRUE
);

/**
 * 与えられた $args を解析して配列に入れ、$defaults と結合
 */ 
$args = wp_parse_args( $args, $defaults );

/**
 * オプション:$args の要素を変数として宣言。例えば $type, $before のように。
 */ 
extract( $args, EXTR_SKIP );

パラメータ

$args
配列|文字列) (必須) クエリ形式の文字列、または値が混在した引数の配列。$defaults 内の値を上書きする。
初期値: なし
  • URL クエリ形式の例
type=post&posts_per_page=5&cat=1
  • 配列形式の例
array( 'type' => 'post', 'posts_per_page' => 5, 'cat' => '1' )
$defaults
配列) (必須) デフォルト値の配列。$args で上書きされる。
初期値: なし

用例

下記は、一つの $args 引数を使って好きな値を何でも指定できるように wp_parse_args を利用する関数の例です。 この例では、多くの WordPress 関数で見られるような、デフォルトの表示内容を変更する文字列を $args に入れます。

/**
 * $args と wp_parse_args() を使う新しい関数を定義
 */
function explain_parse_args( $args ) {
	$defaults = array (
 		'text' => 'wp_parse_args() が $args を $defaults に結合します',
 		'before' => "<p>",
 		'after' => "</p> \n",
 		'echo' => TRUE
	);
	
	// 与えられた $args を解析して配列に入れ、$defaults と結合
	$args = wp_parse_args( $args, $defaults );
	
	// $args の要素を変数として宣言:$text, $before, $after, $echo
	extract( $args, EXTR_SKIP );

	$output = $before . $text . $after;
	
	if (!$echo) 
		return $output;
	
	echo $output;
}

/**
 * 定義した関数をデフォルトのまま使う($args を指定しない)
 * このように表示される:
 * 	<p>wp_parse_args() が $args を $defaults に結合します</p>
 */
explain_parse_args();

/**
 * 幾つかのオプションを配列で上書きして同じ関数を実行
 * $text と $before が変更されて表示される:
 * 	<p class='specialclass'>もっと良い説明</p>
 */
explain_parse_args( array (
	'text' => "もっと良い説明",
	'before' => "<p class='specialclass'>"
) );

/**
 * URL 形式のクエリ文字列として引数を与えることもできる
 * 変換されて $args['echo'] が 1, $args['text'] が 0 になる
 */
explain_parse_args( 'echo=1&text=0' );

変更履歴

2.2.0 にて導入されました。

ソースファイル

wp_parse_args()wp-includes/functions.php にあります。

shortcode_atts() / en


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


最新英語版: WordPress Codex » Function Reference/wp_parse_args最新版との差分