WordPress 1.0で追加されたオプション API は、WordPress のオプションの作成、読み込み、更新、削除を可能にします。設定 API と組み合わせることで、設定ページで定義されたオプションの制御が可能になります。
オプションはどこに格納されますか ?
オプションは、テーブル {$wpdb->prefix}_options
に格納されます。$wpdb->prefix
は、ファイル wp-config.php
で設定された変数 $table_prefix
によって定義されます。
オプションはどのように格納されますか ?
オプションは、単一の値または値の配列として、WordPress のデータベースに2つの方法で格納されます。
単一の値
単一の値として保存された場合、オプション名は単一の値を参照します。
// add a new option
add_option('wporg_custom_option', 'hello world!');
// get an option
$option = get_option('wporg_custom_option');
値の配列
値の配列として保存される場合、オプション名は配列を参照し、それ自体が KVP (キーと値のペア) で構成されることもあります。
// array of options
$data_r = array('title' => 'hello world!', 1, false );
// add a new option
add_option('wporg_custom_option', $data_r);
// get an option
$options_r = get_option('wporg_custom_option');
// output the title
echo esc_html($options_r['title']);
関連するオプションを大量に扱う場合、それらを配列として格納することは、全体的なパフォーマンスに良い影響を与える可能性があります。
個別のオプションとしてデータにアクセスすると、多くの個別のデータベース・トランザクションが発生する可能性があります。一般にデータベース・トランザクションは (時間とサーバー・リソースの点で) 高コストな操作です。オプションを配列で格納したり取得したりすると、単一のトランザクションで行われるため、理想的です。