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

最終更新 : 2022年08月16日 17:55



お勧め

WP_List_Tableクラスの「一括操作」フォームを使ってみた(2018年5月27日 更新)

今回は「WP_List_Tableクラスを使ってみた」の続き。投稿一覧やプラグインページなどにある「一括操作」(Bulkアクション)フォーム対応に関するメモである。

wp_titleからwp_get_document_titleへ(2018年5月27日 更新)

先週、WordPress 4.4 beta1(以降4.4 beta1)が公開されました。この4.4 beta1では新テーマ「Twenty Sixteen」が追加されたほか、wp-includesディレクトリ以下のファイルが大幅に変更された感じです。

WordPressのコーディングスタンダードとPSR-2がかみ合わない(2018年5月27日 更新)

先日パソコンのストレージを換装して開発環境を再構築。エディタのEclipseは「Neon(4.6)」から「Oxygen(4.7)」へ切り替わった。コードを書き始めるとそこはかとなく違和感があり、調べていくとPHPの「Code Style(Formatter)」が「PSR-2」に設定されていることが原因だった。

カテゴリー専用の投稿一覧と新規投稿メニューを追加する(2012年1月23日 更新)

サイト更新の1クリックを省くため、特定カテゴリーの投稿に対して同じようにメニューを追加してみた。カスタム投稿タイプの専用投稿メニューみたいな感じである。

さくらのVPSでKUSANAGI#3(2018年5月27日 更新)

今回は「前回」の続き。http(80番)をクローズ、そのほかに行った調整作業について整理する。