/** * All plugin settings saved in this method * * @return Redirect */ public function admin_init() { register_setting('get_facebook_likes', 'get_facebook_likes_settings'); if (!isset($_POST['_page_now']) || $_POST['_page_now'] != 'get-facebook-likes') { return; } $settings = array(); $defaults = gfl_default_settings(); foreach ($defaults as $key => $value) { $settings[$key] = $value; if (isset($_POST[$key])) { $settings[$key] = $_POST[$key]; } } // Sanitize $settings['mode'] = isset($_POST['mode']) ? trim($_POST['mode']) : 'basic'; $settings['app_id'] = isset($_POST['app_id']) ? trim($_POST['app_id']) : ''; $settings['auto_add'] = isset($_POST['auto_add']) ? true : false; $settings['sdk_locale'] = trim($_POST['sdk_locale']); $settings = apply_filters('gfl_settings_before_update', $settings); update_option('get_facebook_likes', $settings); // Redirect with success message $_POST['_wp_http_referer'] = add_query_arg('success', 'true', $_POST['_wp_http_referer']); wp_redirect($_POST['_wp_http_referer']); exit; }
/** * Get plugin setting * * @param Mixed $field Field name, if empty, return whole settings array * * @return Mixed */ function gfl_setting($field = null) { $settings = get_option('get_facebook_likes'); $defaults = gfl_default_settings(); if (empty($settings) || !is_array($settings)) { $settings = $defaults; } if (is_null($field)) { return $settings; } if (isset($settings[$field])) { return $settings[$field]; } if (isset($defaults[$field])) { return $defaults[$field]; } return null; }