独自関数の引数の取り方について

独自関数を作成する場合に引数を受け取ったりしますが、query_postsのように、

query_posts('cat=5&order=DESC')

のような形式にしたい場合の方法です。

wp_parse_args の使用
wp_parse_args(引数, 初期設定の配列)

これを使用すると引数を’&’で分割して’キー=値’を連想配列にしてくれます。
値の無いものについては初期値を使用します。
具体的には以下のように使用。

[php]
function myfunction( $args=” ) {

// 初期値の設定
$defaults = array(‘key1’ => 10, ‘key2’ => 0, ‘order’ => ‘DESC’, ‘key3’ => ‘value’);

// 引数を取得
$args = wp_parse_args($args, $defaults);

if($args[‘key2’] > 0) {
// 処理
}
}
[/php]

関数を使う場合は以下のようになります。

[php]
// 関数呼び出し
myfunction(‘key2=10&key3=test’);
[/php]

これで後々に引数を追加しても順番を気にする必要が無いので拡張し易くなります。