概要
wp_parse_args
関数は、クエリー文字列を解析し、各パラメータのデフォルト値とマージした連想配列を取得するための便利な関数です。この関数は、特に以下のような機能を実装する際によく使用されます。
- フォームデータの処理
- カスタムクエリのパラメータ設定
- プラグインやテーマのオプション管理
- ユーザーの設定のデフォルト値の設定
- AJAXリクエストのデータ処理
- ショートコードの属性の解析
- REST APIのリクエストのパラメータ処理
- デフォルトの設定を持つウィジェットの設定
構文
wp_parse_args( $args, $defaults );
パラメータ
$args
(array|object) (必須): マージしたい連想配列やオブジェクト。$defaults
(array) (任意): デフォルトの値を持つ連想配列。
戻り値
- (array): マージされた連想配列を返します。
関連する関数
使用可能なバージョン
wp_parse_args
はWordPress 2.8.0以降で使用可能です。
コアファイルのパス
wp-includes/functions.php
サンプルコード
サンプルコード 1
$args = array('color' => 'blue', 'size' => 'large');
$defaults = array('color' => 'red', 'size' => 'medium', 'shape' => 'circle');
$merged = wp_parse_args($args, $defaults);
print_r($merged);
このコードは、$args
と$defaults
をマージし、デフォルト値を提供する例です。結果として、色が青、サイズが大、形が円の連想配列が得られます。
サンプルコード 2
$options = array('theme' => 'dark');
$default_options = array('theme' => 'light', 'layout' => 'grid');
$user_options = wp_parse_args($options, $default_options);
この例では、ユーザーが選択したオプションとデフォルトオプションをマージしています。結果はユーザーの選んだテーマに基づいた設定を持つ連想配列になります。
サンプルコード 3
$query_args = array('orderby' => 'date', 'order' => 'ASC');
$default_query = array('orderby' => 'title', 'order' => 'DESC', 'posts_per_page' => 10);
$final_query_args = wp_parse_args($query_args, $default_query);
このコードは、クエリの引数をデフォルト値とマージし、クエリが必要な引数を全て持つようにしています。
サンプルコード 4
$settings = array('email' => 'test@example.com');
$default_settings = array('email' => '', 'notifications' => true);
$final_settings = wp_parse_args($settings, $default_settings);
この例では、ユーザー設定をデフォルトの設定とマージし、通知のデフォルト値を持つ連想配列を作成しています。
サンプルコード 5
$user_input = array('name' => 'John');
$default_input = array('name' => 'Anonymous', 'age' => 30);
$complete_input = wp_parse_args($user_input, $default_input);
このコードでは、ユーザーからの入力にデフォルト値を加え、フルの情報を持つ連想配列を生成しています。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | 〇 |
registered_post_type | 〇 |
plugins_loaded | 〇 |
wp_roles_init | 〇 |
setup_theme | 〇 |
after_setup_theme | 〇 |
set_current_user | 〇 |
init | 〇 |
register_sidebar | |
wp_loaded | 〇 |
send_headers | |
parse_query | 〇 |
pre_get_posts | 〇 |
wp | 〇 |
template_redirect | 〇 |
get_header | |
wp_head | 〇 |
非推奨又は削除されたバージョン
wp_parse_args
に関しては特定のバージョンで非推奨または削除されたものはありません。