Example #1
0
/**
 * Register settings fields.
 *
 * Fires upon admin_init.
 *
 * @return void
 */
function stagtools_register_settings()
{
    if (false == get_option('stag_options')) {
        add_option('stag_options');
    }
    foreach (stagtools_get_registered_settings() as $tab => $settings) {
        add_settings_section('stagtools_settings_' . $tab, __return_null(), '__return_false', 'stagtools_settings_' . $tab);
        foreach ($settings as $option) {
            add_settings_field('stagtools_settings[' . $option['id'] . ']', $option['name'], function_exists('stagtools_' . $option['type'] . '_callback') ? 'stagtools_' . $option['type'] . '_callback' : 'stagtools_missing_callback', 'stagtools_settings_' . $tab, 'stagtools_settings_' . $tab, array('id' => $option['id'], 'desc' => !empty($option['desc']) ? $option['desc'] : '', 'name' => $option['name'], 'section' => $tab, 'size' => isset($option['size']) ? $option['size'] : null, 'options' => isset($option['options']) ? $option['options'] : '', 'std' => isset($option['std']) ? $option['std'] : ''));
        }
    }
    register_setting('stag_options', 'stag_options', 'stagtools_settings_sanitize');
}
 /**
  * Social shortcode.
  *
  * Display links to social profiles.
  *
  * @since 1.2
  */
 function stag_social($atts)
 {
     extract(shortcode_atts(array('id' => 'all', 'style' => 'normal'), $atts));
     $registered_settings = stagtools_get_registered_settings();
     $social_urls = array_keys($registered_settings['social']);
     $settings = get_option('stag_options');
     $output = '<div class="stag-social-icons ' . $style . '">';
     if ($id == '' || $id == "all") {
         $id = $social_urls;
     } else {
         $id = explode(',', $id);
     }
     foreach ($id as $slug) {
         $slug = trim($slug);
         if (isset($settings[$slug]) && $settings[$slug] != '') {
             $class = $slug;
             if ('mail' == $slug) {
                 $class = 'envelope';
             }
             if ('vimeo' == $slug) {
                 $class = 'vimeo-square';
             }
             $output .= "<a href='" . esc_url($settings[$slug]) . "' target='_blank'><i class='fa fa-{$class}'></i></a>";
         }
     }
     $output .= "</div>";
     return $output;
 }