説明
パラメータ
- $option_groupグループ名('general'、'discussion'、'media'、'reading'、'writing'、'options'の何れか)を指定。
- $option_nameオプション名を指定。
- $argsオプションデータの設定を連想配列で指定(省略時はarray())。
キー 内容 デフォルト値 'type' データタイプ('string'、'boolean'、'integer'、'number'、'array'、'object') 'string' 'description' オプションの説明 '' 'sanitize_callback' サニタイズ用のコールバック関数 null 'show_in_rest' REST APIで使用可能にする場合はtrueはまた'schema'キーを持つ連想配列 false 'default' get_option関数呼び出し時のデフォルト値 なし
返り値
返り値はありません。注意
オプション値の設定情報を登録する。ブロックエディターの各ブロックで任意のオプション値を使う場合は本関数の呼び出しが必須となる。
パラメータ$args['sanitize_callback']が設定された場合は"sanitize_option_{$option_name}"フィルターのコールバック関数として適用される。
[3.0.0]パラメータ$option_groupの'misc'が非推奨になり、内部で'general'に書き換わる。
[3.5.0]パラメータ$option_groupの'privacy'が非推奨になり、内部で'reading'に書き換わる。
[4.7.0]本関数は/wp-includes/option.phpファイルに移動し、第3パラメータはサニタイズ用のコールバック関数から設定情報(連想配列)に変更された。
使用例
- オプションの設定情報を登録する。
function myblock_setting() { register_setting( 'options', 'service_api_key', array( 'type' => 'string', 'sanitize_callback' => 'esc_attr', 'show_in_rest' => true, ) ); add_action( 'rest_api_init', 'myblock_setting' );
フィルター
[4.7.0]'register_setting_args'フィルターを呼び出す。パラメータ$argsには本関数が受け取った内容が、$defaultsにはデフォルトの設定情報(連想配列)が、$option_groupと$option_nameには本関数が受け取った内容が格納されている。$args = apply_filters( 'register_setting_args', $args, $defaults, $option_group, $option_name );
アクション
[5.5.0]設定情報を格納する前に'register_setting'アクションを呼び出す。パラメータ$option_groupと$option_nameには本関数が受け取った内容が、$argsには設定情報が格納されている。do_action( 'register_setting', $option_group, $option_name, $args );
ソースファイル
/wp-includes/option.php
最終更新 : 2022年08月16日 17:55
関連
お勧め
5.5で非推奨になる関数名について(2020年8月12日 更新)
来月にリリースされるWordPress 5.5に向けてBeta 1、2と公開が続いている。「WordPress 5.5 Beta 2(以降Beta 2)」のソースコードを見ていくと、いくつかの関数が非推奨になるようだ。
meta_compare_key使ってみた(2019年3月19日 更新)
ブロックエディターの登場により、標準のカスタムフィールドを使う機会はかなり減った気がする。そんな中、5.1.0で追加されたのが、カスタムフィールド名(メタキー)に含まれる文字列を指定する'meta_compare_key'キーだ。
プラグインの設定ページもレスポンシブ対応(2014年6月3日 更新)
レスポンシブ対応したWordPressの管理画面。プラグインやテーマのカスタマイズで管理画面を拡張しているなら、切り替わるタイミングはきっちり押さえておきたいところではないだろうか。
初期化に関連するアクションのおさらい(2013年11月27日 更新)
いつも何気なくfunctions.phpで使っているafter_setup_themeアクションやinitアクション。普段はあまり意識していなかったが、ふとしたことからどんな順番に呼び出されるのか気になってしまい、ちょっと調べてみた。全投稿を取得するのはnopaging=1でいい(2011年8月31日 更新)
query_posts関数(またはWP_Queryクラス)を使う場合、取得する件数の指定を省略すると管理者ページの「表示設定」-「1ページに表示する最大件数」の指定値分だけの投稿情報を取得する。それでは条件にマッチするすべての投稿情報を取得するには?