add_settings_field

説明

void add_settings_field( string $id, string $title, callable $callback, string $page [ , string $section = 'default' [ , array $args = array() ] ] )
設定ページに新しいフィールド(入力要素)を追加する。

パラメータ

  • $id
    フィールドのスラッグを指定。
  • $title
    フィールド名を指定。
  • $callback
    フィールド名の入力要素を出力するコールバック関数を指定。
  • $page
    設定ページのスラッグ('general'、'reading'、'writing'、'discussion'、'media'など)を指定。
  • $section
    セクションのスラッグを指定(省略時は'default')。
  • $args
    フィールド設定に関する内容(label_for、[4.2.0]classキー)を連想配列で指定(省略時はarray())。

返り値

返り値はありません。

注意

設定内容は、グローバル変数$wp_settings_fields[ $page ][ $section ][ $id ]に格納される。

パラメータ$callbackのコールバック関数で出力する入力要素のname属性は register_setting関数で登録したオプション名を指定する必要がある。

[3.0.0]パラメータ$pageが非推奨の'misc'の場合、'general'に変更される。

[3.5.0]パラメータ$pageが非推奨の'privacy'の場合、'reading'に変更される。

[4.2.0]パラメータ$argsにキーclassが追加される。

キー内容省略時
label_forlabel要素のfor属性を指定''
classtr要素のclass属性を指定''

パラメータ$argsにlabel_forキーの値を指定すると、フィールド名はlabel要素で囲まれ、そのfor属性に適用される。label_forキーの値が空の場合はlabel要素で囲まれない。

パラメータ$argsにclassキーの値を指定すると、tr要素のclass属性に適用される。


使用例

  • 一般設定ページに新しいフィールドを追加する
    add_settings_field( 'oauth_client_id', 'Client ID', 'oauth_client_id_field', 'general' );

フィルター

直接実行するフィルターはありません。

アクション

直接実行するアクションはありません。

ソースファイル

/wp-admin/includes/template.php

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



お勧め

初期状態で「抜粋」ウィジェットを表示する(2014年1月7日 更新)

投稿編集ページのウィジェットは標準で表示されるものとされないものがある。フォーラムに『投稿の編集画面にデフォルトで抜粋を表示させたい』という投稿があったので、ちょっと調べてみた。

query_posts(WP_Queryクラス)で投稿タグを絞り込む(2011年9月14日 更新)

投稿タグの絞り込みは、カテゴリーに似ているけど微妙に違っている。今日は、昨日投稿した「query_posts(WP_Queryクラス)でカテゴリーを絞り込む」の続きとして、投稿タグの絞り込みついてまとめてみる。

カスタムフィールド関連関数のおさらい(2012年6月22日 更新)

カスタムフィールドは、投稿記事の拡張情報としてよく利用されている。投稿ページで登録した情報をアーカイブや投稿ページで表示しているが、投稿ページを表示する際にカスタムフィールドの値を更新して、サイドバーのようなページ内要素に利用したりしている。

Align widgets horizontally:プラグイン作ってみました(2024年5月6日 更新)

ほぼ毎日何度も見ているダッシュボードページ。自分好みに各ウィジェットの場所を配置しているものの、何かすっきりしない。そこでふと思ったのが、ウィジェットを横並びにできれば隣り合うウィジェットの並びがガタガタしなくなるのでは!?

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。