/**
  * 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;
 }
Beispiel #2
0
/**
 * 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;
}