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' ) ); } /** * Add media files */ public function load_media_files() { wp_enqueue_media(); wp_enqueue_script( 'wn-script', plugins_url( 'js/wn-script.js', __FILE__ ), array(), '1.0.0', true ); } /** * 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; } if ( isset( $this->options['android-icon'] ) ) { $output .= '' . PHP_EOL; } if ( isset( $this->options['vibrate'] ) && $this->options['vibrate'] == 1 ) { $output .= << navigator.vibrate = navigator.vibrate || navigator.webkitVibrate || navigator.mozVibrate || navigator.msVibrate; // vibrate for 500ms if available if ( navigator.vibrate ) { navigator.vibrate(500); } HTML; } 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( 'android-colours', // ID 'Status Bar Colour', // Title array( $this, 'print_section_info_colours' ), // Callback 'wn-android-statusbar' // Page ); add_settings_field( 'default-colour', // ID 'Default Colour', // Title array( $this, 'colour_callback' ), // Callback 'wn-android-statusbar', // Page 'android-colours', // Section array( 'id' => 'default-colour' ) ); add_settings_field( 'home-colour', // ID 'Home Page Colour', // Title array( $this, 'colour_callback' ), // Callback 'wn-android-statusbar', // Page 'android-colours', // Section array( 'id' => 'home-colour' ) ); add_settings_field( 'page-colour', // ID 'Page Colour', // Title array( $this, 'colour_callback' ), // Callback 'wn-android-statusbar', // Page 'android-colours', // Section array( 'id' => 'page-colour' ) ); add_settings_field( 'post-colour', // ID 'Post Colour', // Title array( $this, 'colour_callback' ), // Callback 'wn-android-statusbar', // Page 'android-colours', // Section array( 'id' => 'post-colour' ) ); add_settings_section( 'android-icons', // ID 'Icon', // Title array( $this, 'print_section_info_icons' ), // Callback 'wn-android-statusbar' // Page ); add_settings_field( 'android-icon', // ID 'Android Icon (192px × 192px)', // Title array( $this, 'file_callback' ), // Callback 'wn-android-statusbar', // Page 'android-icons', // Section array( 'id' => 'android-icon' ) ); add_settings_section( 'misc', // ID 'Misc Settings', // Title array( $this, 'print_section_info_misc' ), // Callback 'wn-android-statusbar' // Page ); add_settings_field( 'vibrate', // ID 'Enable Vibration (if available)', // Title array( $this, 'vibrate_callback' ), // Callback 'wn-android-statusbar', // Page 'misc', // Section array( 'id' => 'vibrate' ) ); } /** * 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 for Colours */ public function print_section_info_colours() { echo 'Enter a HEX colour below:'; } /** * Print the Section text for Icons */ public function print_section_info_icons() { echo 'Enter a URL or select a file to use from the Media Gallery. For best results, use an absolute URL.'; } /** * Print the Section text for Icons */ public function print_section_info_misc() { echo 'Configure misc settings here.'; } /** * 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'] ] ) : '' ); } /** * Get the settings option array and print one of its values */ public function file_callback( $args ) { printf( ' ', $args['id'], isset( $this->options[ $args['id'] ] ) ? esc_attr( $this->options[ $args['id'] ] ) : '' ); } /** * Get the settings option array and print one of its values */ public function vibrate_callback( $args ) { printf( '', $args['id'], isset( $this->options[ $args['id'] ] ) ? 'checked' : '' ); } } // run plugin $wn_android_statusbar = new WN_Android_50_Statusbar();