register_setting

説明

void register_setting( string $option_group, string $option_name [ , array $args = array() ] )
オプションの設定情報を登録する。

パラメータ

  • $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-admin/includes/plugin.php
/wp-includes/option.php

最終更新 : 2024年01月30日 17:18



お勧め

4.2で始まるiOSの絵文字ケア(2018年5月27日 更新)

WordPress 4.2のベータ1、ベータ2が立て続けにリリースされ、4.2の正式版リリースが近づいています。4.2のポイントの1つは絵文字のクロスブラウザ対応です。ここでの絵文字とは、UTF-8で4バイトのコードが割り当てられている(基本的にはiOSの)絵文字を指します。この絵文字を含んだ投稿が正しく保存できなかったり、iOS以外の環境で意図した通りに表示できないといった問題があり、4.2ではそのような問題を対処をコードが組み込まれています。

投稿内容のid属性などを保存するための対策(2012年6月15日 更新)

WordPress 3.4にアップデートしたとある環境で投稿記事を保存すると、divタグなどのid属性がクリアされて保存するようになった(id属性が保存できなくなった)。ここでは、その対策方法の1つを紹介しておく。

カレンダーウィジェットをAjaxで切り替える(2011年8月22日 更新)

ウィジェットベースでテーマを構築していてカレンダーを表示してみた。標準では、前月や次月のリンク先はそれぞれの月のアーカイブページとなっているのだが、記事を探すだけであればカレンダー部分だけを更新するほうが便利なのではと考え、そのアイデアを実装してみた。

続テーマを変更せずにWebフォントを使ってみた(2022年2月8日 更新)

先日投稿した「テーマを変更せずにWebフォントを使ってみた」では、テーマ「Twenty Twenty One」でWebフォントを使うことができた。その後、ほかのテーマで試したところ、そのままではWebフォントを使うことができなかった。今回は、それらのテーマの対応について紹介する。

LevelとCapability(2018年5月27日 更新)

プラグインやテーマの管理ページを作成する際など、ユーザのレベルと権限を確認することがある。ここでは、権限グループ別のレベルと権限の有無を整理してみた。