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



お勧め

JavaScriptテンプレートを使ってみた(2018年8月21日 更新)

前回の記事」で取り上げた「WordPress Events and News」ウィジェットでは入力された地名のAJAX処理してその地名近隣のイベント情報を表示している。特に表示部分では「JavaScriptテンプレート」が採用されており、今更ながら調べてみた。

投稿ページでユニークなテンプレートを選択しよう(2018年5月27日 更新)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

任意の名前でエラーログファイルを指定する(2019年2月15日 更新)

来週にはWordPress 5.1がリリース。RC1のソースコードを見ていると、 wp_debug_mode関数が変更されており、興味深かった。

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

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

query_posts(WP_Queryクラス)でカテゴリーを絞り込む(2011年9月14日 更新)

久しぶりに query_posts関数を見直してみると、見知らぬパラメータがいくつか追加されていた。気になったのでカテゴリー関係の指定を'tax_query'パラメータを交えて整理してみた。