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関数呼び出し時のデフォルト値なし
    'label'オプションのラベル''

返り値

返り値はありません。

注意

オプション値の設定情報を登録する。ブロックエディターの各ブロックで任意のオプション値を使う場合は本関数の呼び出しが必須となる。

パラメータ$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パラメータはサニタイズ用のコールバック関数から設定情報(連想配列)に変更された。

[6.6.0]パラメータ$argsに'label'が追加された。


使用例

  • オプションの設定情報を登録する。
    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年07月20日 13:57



お勧め

Login rebuilder 2.3.0の新機能を紹介(2018年5月27日 更新)

プラグイン「Login rebuilder」はログイン時の履歴(ログ)や不正なログインページへのアクセス履歴を保存している。これらの履歴情報はダッシュボートで確認できるが、バージョン2.3.0においてそれぞれがダウンロードできるようになった。

古めのリビジョンを削除した時のメモ(2022年5月16日 更新)

大きく育ったデータベースを整理するため、古めのリビジョンとそれに紐づいたカスタムフィールドデータを削除。と思ったら「The total number of locks exceeds the lock table size」というエラーが発生して削除できなかった。

決まった値を返すだけの関数群(2018年5月27日 更新)

WordPressのソースコードを眺めているとフィルター関数名で'__return_○○'が指定されている部分を時々見かけます。それらの関数定義を見てみると、すべて決まった値を単純に返すだけでした。これらの関数がちょっと気になったので、まとめてみました。

「Align widgets horizontally」プラグインのフィルター使用例(2024年5月15日 更新)

ダッシュボードのウィジェットを横並びに変える「Align widgets horizontally」プラグインには緒設定を変更できるフィルターが用意されている。ここではフィルターの使い方と設定できる項目について紹介する。

WP_Postオブジェクトで投稿情報を直感的に使う(2012年10月4日 更新)

WordPress 3.5で登場するであろう WP_Postクラス。WordPressの投稿情報は、投稿情報本体のほか、カテゴリーや投稿タグ、カスタムフィールドなど、いくつかに分散して記録され、それぞれの情報を取得する際は、いくつかの関数をしていた。新しいWP_Postクラスにより、その習慣とおさらばできるかもしれない。