//ADD Settings page for Announcements
add_action('admin_menu', 'plugin_admin_add_page');
function plugin_admin_add_page() {
add_options_page('Announcements Settings', 'Announcements', 'manage_options', 'simple_announce', 'plugin_options_page');
}
//Display the admin options page
function plugin_options_page(){
?>
<div>
<h2>Simple Announcements</h2>
<p>Announcements Settings Description Goes Here</p>
<form action="options.php" method="post">
<?php settings_fields('simple_options'); ?>
<?php do_settings_sections('simple_announce'); ?>
<input name="Submit" type="submit" value="<?php esc_attr_e('Save Changes');?>" />
</form>
</div>
<?php
}
//Define the settings
add_action('admin_init', 'plugin_admin_init');
function plugin_admin_init(){
add_settings_section('simple_main', 'Main Settings', 'simple_section_text', 'simple_announce');
register_setting( 'simple_options', 'background_color', 'simple_validate_background' );
register_setting( 'simple_options', 'text_color', 'simple_validate_text' );
add_settings_field('simple_background_color', 'Background Color:', 'plugin_background_string', 'simple_announce', 'simple_main');
add_settings_field('simple_text_color', 'Text Color:', 'plugin_text_string', 'simple_announce', 'simple_main');
}
//Settings Section text
function simple_section_text() {
echo '<p>Main description of this section here.</p>';
}
//Settings
function plugin_background_string() {
$options = get_option('background_color');
echo "<input id='simple_background_color' name='simple_options[background_color]' size='40' type='text' value='$options' />";
}
function plugin_text_string() {
$options = get_option('text_color');
echo "<input id='simple_text_color' name='simple_options[text_color]' size='40' type='text' value='$options' />";
}
//Validate Options
function simple_validate_background($input) {
$options = get_option('background_color');
$options['background_color'] = trim($input['background_color']);
if(!preg_match('/^[a-z0-9]{32}$/i', $options['background_color'])) {
$options['background_color'] = '';
}
return $options;
}
function simple_validate_text($input) {
$options = get_option('text_color');
$options['text_color'] = trim($input['text_color']);
if(!preg_match('/^[a-z0-9]{32}$/i', $options['text_color'])) {
$options['text_color'] = '';
}
return $options;
}