こんにちは、
get_option()はデータを、 wp-options テーブルから取得します
http://wpdocs.osdn.jp/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E6%A7%8B%E9%80%A0
変更日などの情報は、デフォルトでは保存されませんが 必要であればカスタマイズは可能ではないかと思います。
どんなことをしたいのですか?
http://2inc.org/blog/2012/08/04/1898/
一般設定で入力した項目の日時を取得したいです
例えばFacebook項目を追加して
入力した日時、変更入力した日時を取得したいです
例示先のコードに追加する ざっくりとした例は以下のようになります。
文字列としてセットされている facebook_appid を配列に変更します。
フォームフィールドも配列として送信するように変更します。
フィルターで、更新があった場合に pre_update_option_facebook_appidフィルターで、更新時刻を facebook_appid にセットします。
//既にfacebook_appidがセットされている場合は、削除してください
//delete_option( 'facebook_appid' );
add_filter( 'pre_update_option_facebook_appid', 'custom_pre_update_option_facebook_appid', 10, 3 );
function custom_pre_update_option_facebook_appid( $value, $old_value, $option ) {
//フィールドが更新されたら 更新時間をセット
if ( $value[ 'id' ] !== $old_value[ 'id' ] ) {
$value[ 'date' ] = current_time( 'Y-m-d H:i:s' );
}
return $value;
}
add_action( 'admin_init', 'add_general_custom_sections' );
function add_general_custom_sections() {
// add_settings_field( 'キー', 'ラベル', 'コールバック関数', 'general' )で項目を追加
add_settings_field( 'facebook_appid', 'Facebook AppID', 'facebook_appid', 'general' );
// register_setting( 'general', 'キー' )で値を保存
register_setting( 'general', 'facebook_appid' );
}
function facebook_appid( $args ) {
//フォームを文字列から、配列に変更
$option_datas = get_option( 'facebook_appid' );
//値を配列から取得
$id = $option_datas[ 'id' ];
$date = $option_datas[ 'date' ];
?>
<input type="text" name="facebook_appid[id]" id="facebook_appid" size="30" value="<?php echo esc_attr( $id ); ?>" />
<input type="text" name="facebook_appid[date]" id="facebook_appid" size="30" value="<?php echo $date; ?>" />
<?php
}
試験的に書いたコードなので、重要なセクションなので 参考にする場合は十分検証してください
送信フィールドを作らない場合は、あらかじめ
if ( !get_option( 'facebook_appid' ) ) {
add_option( 'facebook_appid', array( 'id' => '', 'date' => '' ) );
}
とするなどの工夫をしてみてください