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



お勧め

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

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

ブロックエディターの文字サイズ設定を変えてみる(2019年12月12日 更新)

今回は「前回投稿した内容」の続きブロックエディターの文字サイズ設定を変えようと思う。参考にするテーマはもちろん「Twenty Twenty」である。

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

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

「不明な書式」って何ですか。(2024年11月13日 更新)

オートコンプリート機能を利用して四字熟語を挿入するプラグインを作った際、ツールバーに「不明な書式をクリア(Clear Unknown Formatting)」ボタンが表示されるようになった。この「書式」、何を指しているのかわからないんだが。

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

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