'52.232600', 'longitude' => '20.78101', 'user_can_set' => false, 'weather_info' => true ); add_option('pk_aqp_options', $options_default); } register_activation_hook(__FILE__, 'pk_aqp_plugin_activated'); function pk_aqp_plugin_uninstall() { delete_option('pk_aqp_options'); //delete users plugin metadata $users = get_users(); foreach($users as $user) { delete_user_meta($user->ID, 'longitude'); delete_user_meta($user->ID, 'latitude'); delete_user_meta($user->ID, 'weather-info'); } } register_uninstall_hook(__FILE__, 'pk_aqp_plugin_uninstall'); function pk_aqp_prepare_translations() { load_plugin_textdomain('air-quality-plugin', false, basename( dirname( __FILE__ ) ) . '/languages'); } add_action('plugins_loaded', 'pk_aqp_prepare_translations'); //Adding options page function pk_aqp_create_options_page() { $options = get_option('pk_aqp_options'); $capability = $options['user_can_set'] ? 'read' : 'manage_options'; //function pk_aqp_options_code() can be found in includes/options_menu.php add_options_page(__('AQP Settings', 'air-quality-plugin'), __('AQP Settings', 'air-quality-plugin'), $capability, __FILE__, 'pk_aqp_options_code'); } add_action('admin_menu', 'pk_aqp_create_options_page'); //Widget initialization function pk_aqp_widget_init() { register_widget('pk_aqp_air_quality_widget'); } add_action('widgets_init', 'pk_aqp_widget_init'); //Widget class class pk_aqp_air_quality_widget extends WP_Widget { function __construct() { $widget_ops = array( 'classname' => 'pk_aqp_air_quality_widget', 'description' => __('Displays info about air quality', 'air-quality-plugin') ); $this->WP_Widget('pk_aqp_air_quality_widget', 'Air Quality Widget', $widget_ops); } function form($instance) { $defaults = array( 'title' => 'Air Quality Widget' ); $instance = wp_parse_args((array)$instance, $defaults); $title = $instance['title']; ?>

: