More Related Content Similar to The Settings API (20) More from Konstantin Kovshenin (8) The Settings API11. add_action( 'admin_menu', 'my_admin_menu' );
function my_admin_menu() {
add_options_page( 'My Plugin', 'My Plugin', 'manage_options',
'my-plugin', 'my_options_page' );
}
ref: http://codex.wordpress.org/Roles_and_Capabilities
15. register_setting()
add_settings_section()
add_settings_field()
ref: http://codex.wordpress.org/Settings_API
16. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
17. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
ref: http://codex.wordpress.org/Function_Reference/register_setting
18. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
[...]
get_option( 'my-setting' );
update_option( 'my-setting', ‘my value’ );
19. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
ref: http://codex.wordpress.org/Function_Reference/add_settings_section
20. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
21. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
22. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
[...]
add_options_page( ..., 'my-plugin', ... );
23. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
ref: http://codex.wordpress.org/Function_Reference/add_settings_field
24. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
25. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
26. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
[...]
add_options_page( ..., 'my-plugin', ... );
27. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
28. add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
register_setting( 'my-settings-group', 'my-setting' );
add_settings_section( 'section-one', 'Section One',
'section_one_callback', 'my-plugin' );
add_settings_field( 'field-one', 'Field One',
'field_one_callback', 'my-plugin', 'section-one' );
}
30. function field_one_callback() {
$setting = esc_attr( get_option( 'my-setting' ) );
echo "<input type='text' name='my-setting' value='$setting' />";
}
[...]
register_setting( 'my-settings-group', 'my-setting' );
32. function my_options_page() {
?>
<div class="wrap">
<h2>My Plugin Options</h2>
<form action="options.php" method="POST">
<?php settings_fields( 'my-settings-group' ); ?>
<?php do_settings_sections( 'my-plugin' ); ?>
<?php submit_button(); ?>
</form>
</div>
<?php
}
33. function my_options_page() {
?>
<div class="wrap">
<h2>My Plugin Options</h2>
<form action="options.php" method="POST">
<?php settings_fields( 'my-settings-group' ); ?>
<?php do_settings_sections( 'my-plugin' ); ?>
<?php submit_button(); ?>
</form>
</div>
<?php
}
34. function my_options_page() {
?>
<div class="wrap">
<h2>My Plugin Options</h2>
<form action="options.php" method="POST">
<?php settings_fields( 'my-settings-group' ); ?>
<?php do_settings_sections( 'my-plugin' ); ?>
<?php submit_button(); ?>
</form>
</div>
<?php
}
[...]
register_setting( 'my-settings-group', 'my-setting' );
35. function my_options_page() {
?>
<div class="wrap">
<h2>My Plugin Options</h2>
<form action="options.php" method="POST">
<?php settings_fields( 'my-settings-group' ); ?>
<?php do_settings_sections( 'my-plugin' ); ?>
<?php submit_button(); ?>
</form>
</div>
<?php
}
[...]
add_options_page( ..., 'my-plugin', ... );
36. function my_options_page() {
?>
<div class="wrap">
<h2>My Plugin Options</h2>
<form action="options.php" method="POST">
<?php settings_fields( 'my-settings-group' ); ?>
<?php do_settings_sections( 'my-plugin' ); ?>
<?php submit_button(); ?>
</form>
</div>
<?php
}
ref: http://codex.wordpress.org/Function_Reference/submit_button
45. function field_one_callback() {
$settings = (array) get_option( 'my-settings' );
$color = esc_attr( $settings['color'] );
echo "<input type='text' name='my-settings[color]'
value='$color' />";
}
50. function my_settings_validate( $input ) {
$output = get_option( 'my-settings' );
if ( is_email( $input['email'] ) )
$output['email'] = $input['email'];
else
add_settings_error( 'my-settings', 'invalid-email',
'You have entered an invalid e-mail address.' );
return $output;
}
53. function my_text_input( $args ) {
$name = esc_attr( $args['name'] );
$value = esc_attr( $args['value'] );
echo "<input type='text' name='$name' value='$value' />";
}