Settings',
);
// remove edit link
unset( $links['edit'] );
// return new links
return array_merge( $mylinks, $links );
}
/**
* Add options page
*/
public function add_plugin_page()
{
// This page will be under "Settings"
add_theme_page(
'Settings Admin',
'Android Status Bar',
'manage_options',
'wn-android-statusbar',
array( $this, 'settings_page' )
);
}
/**
* Options page callback
*/
public function settings_page()
{
// Set class property
$this->options = get_option( 'wn_android_statusbar' );
?>
Androind 5.0 Lollipop Statusbar
options = get_option( 'wn_android_statusbar' );
$output = '' . PHP_EOL;
if ( is_front_page() ) {
$output .= '' . PHP_EOL;
} else if ( is_single() ) {
$output .= '' . PHP_EOL;
} else if ( is_page() ) {
$output .= '' . PHP_EOL;
} else {
$output .= '' . PHP_EOL;
}
echo $output;
}
/**
* Register and add settings
*/
public function page_init()
{
register_setting(
'wn_android_options', // Option group
'wn_android_statusbar', // Option name
array( $this, 'sanitize' ) // Sanitize
);
add_settings_section(
'setting_section_id', // ID
'Status Bar Colour', // Title
array( $this, 'print_section_info' ), // Callback
'wn-android-statusbar' // Page
);
add_settings_field(
'default-colour', // ID
'Default Colour', // Title
array( $this, 'colour_callback' ), // Callback
'wn-android-statusbar', // Page
'setting_section_id', // Section
array( 'id' => 'default-colour' )
);
add_settings_field(
'home-colour', // ID
'Home Page Colour', // Title
array( $this, 'colour_callback' ), // Callback
'wn-android-statusbar', // Page
'setting_section_id', // Section
array( 'id' => 'home-colour' )
);
add_settings_field(
'page-colour', // ID
'Page Colour', // Title
array( $this, 'colour_callback' ), // Callback
'wn-android-statusbar', // Page
'setting_section_id', // Section
array( 'id' => 'page-colour' )
);
add_settings_field(
'post-colour', // ID
'Post Colour', // Title
array( $this, 'colour_callback' ), // Callback
'wn-android-statusbar', // Page
'setting_section_id', // Section
array( 'id' => 'post-colour' )
);
}
/**
* Sanitize each setting field as needed
*
* @param array $input Contains all settings fields as array keys
*/
public function sanitize( $input )
{
$new_input = array();
foreach ( $input as $id => $val )
$new_input[$id] = esc_attr( $val );
return $new_input;
}
/**
* Print the Section text
*/
public function print_section_info()
{
print 'Enter a HEX colour below:';
}
/**
* Get the settings option array and print one of its values
*/
public function colour_callback( $args )
{
printf(
'#',
$args['id'],
isset( $this->options[ $args['id'] ] ) ? esc_attr( $this->options[ $args['id'] ] ) : ''
);
}
}
// run plugin
$wn_android_statusbar = new WN_Android_50_Statusbar();