説明
wp_parse_args() は、配列やクエリ文字列を、既定値の配列とマージする関数です。
基本構文
wp_parse_args( string|array|object $args, array $defaults = array() ): array
引数
$args:ユーザーが指定した引数$defaults:既定値
戻り値
マージ後の配列。
使い方(サンプル)
$opts = wp_parse_args( $args, array( 'limit' => 10 ) );
注意点
- 関数の引数オプションの扱いで定番のパターンです。
実務での使いどころ
- 関数の引数(設定の配列)に、既定値を足すとき。
- クエリ文字列(
a=1&b=2)を、配列に変えるとき。
よくあるミスと対処
- 引数の順番を、逆にしている。第1引数が、渡された値、第2引数が、既定値。
- 配列の中の配列まで、マージされると考えている。マージは、1段目だけ。
- オブジェクトや、文字列を渡したときの、動作を知らない。
NG例
$args = wp_parse_args( $defaults, $args ); // 順番が逆で、既定値が、渡された値を上書きする
OK例
$args = wp_parse_args( $args, array(
'number' => 10,
'orderby' => 'date',
) );
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| 既定値と、渡された値を、まとめる | wp_parse_args() |
| URLを、部品に分ける | wp_parse_url() |
| URLに、パラメータを追加する | add_query_arg() |
関連項目
wp_parse_url()、shortcode_atts()
公式リファレンス:wp_parse_args() | Function | WordPress Developer Resources

コメント