/** * Add postMessage support for site title and description for the Theme Customizer. * * @param WP_Customize_Manager $wp_customize Theme Customizer object. */ function blue_planet_customize_register($wp_customize) { $new_defaults = blueplanet_get_default_options(); $options = blueplanet_get_option_all(); $wp_customize->get_setting('blogname')->transport = 'postMessage'; $wp_customize->get_setting('blogdescription')->transport = 'postMessage'; $wp_customize->get_setting('header_textcolor')->transport = 'postMessage'; // Custom Controls. require get_template_directory() . '/inc/customizer-includes/controls.php'; // Theme Settings. require get_template_directory() . '/inc/customizer-includes/theme.php'; // Slider Settings. require get_template_directory() . '/inc/customizer-includes/slider.php'; // Reset Settings. require get_template_directory() . '/inc/customizer-includes/reset.php'; }
/** * Get theme option. * * @since 1.0.0 * * @param string $key Option key. * @return mixed Option value. */ function blueplanet_get_option($key) { $defaults = blueplanet_get_default_options(); $options = blueplanet_get_option_all(); $output = ''; if (array_key_exists($key, $defaults)) { $output = $defaults[$key]; } if (array_key_exists($key, $options)) { $output = $options[$key]; } return $output; // Set default value first. if (is_array($defaults) && isset($defaults[$key])) { $output = $defaults[$key]; } return $output; }
/** * Echo the widget content. * * @since 1.0.0 * * @param array $args Display arguments including before_title, after_title, * before_widget, and after_widget. * @param array $instance The settings for the particular instance of the widget. */ function widget($args, $instance) { $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base); echo $args['before_widget']; if ($title) { echo $args['before_title'] . $title . $args['after_title']; } $bp_options = blueplanet_get_option_all(); echo '<div class="social-widget-wrapper">'; $social_sites = array('facebook', 'twitter', 'googleplus', 'youtube', 'pinterest', 'linkedin', 'flickr', 'tumblr', 'dribbble', 'deviantart', 'rss', 'instagram', 'skype', 'digg', 'stumbleupon', 'forrst', '500px', 'vimeo'); foreach ($social_sites as $key => $site) { if ('' !== $bp_options["social_{$site}"]) { echo '<a class="social-' . esc_attr($site) . '" href="' . esc_url($bp_options["social_{$site}"]) . '"></a>'; } } if (isset($bp_options['social_email']) && !empty($bp_options['social_email'])) { echo '<a class="social-email" href="mailto:' . esc_attr($bp_options['social_email']) . '"></a>'; } echo '</div>'; echo $args['after_widget']; }
/** * Generate social links. * * @since 1.0.0 */ function blue_planet_generate_social_links() { $bp_options = blueplanet_get_option_all(); echo '<div class="social-wrapper">'; if ('' !== $bp_options['social_email']) { echo '<a class="social-email" href="mailto:' . esc_attr($bp_options['social_email']) . '"></a>'; } $social_sites = array('facebook' => 'facebook', 'twitter' => 'twitter', 'googleplus' => 'googleplus', 'youtube' => 'youtube', 'pinterest' => 'pinterest', 'linkedin' => 'linkedin', 'flickr' => 'flickr', 'tumblr' => 'tumblr', 'dribbble' => 'dribbble', 'deviantart' => 'deviantart', 'rss' => 'rss', 'instagram' => 'instagram', 'skype' => 'skype', 'digg' => 'digg', 'stumbleupon' => 'stumbleupon', 'forrst' => 'forrst', '500px' => '500px', 'vimeo' => 'vimeo'); $social_sites = apply_filters('blue_planet_filter_social_sites', $social_sites); $social_sites = array_reverse($social_sites); $link_target = apply_filters('blue_planet_filter_social_sites_link_target', '_blank'); foreach ($social_sites as $key => $site) { if ('' !== $bp_options["social_{$site}"]) { if ('skype' === $site) { echo '<a class="social-' . $site . '" href="skype:' . esc_attr($bp_options["social_{$site}"]) . '?call"></a>'; } else { echo '<a class="social-' . $site . '" href="' . esc_url($bp_options["social_{$site}"]) . '" target="' . esc_attr($link_target) . '"></a>'; } } } echo '</div>'; }
/** * Enqueue scripts and styles. */ function blue_planet_scripts() { wp_enqueue_style('blue-planet-style', get_stylesheet_uri()); wp_enqueue_style('blue-planet-style-bootstrap', get_template_directory_uri() . '/css/bootstrap.min.css', false, '3.0.0'); wp_enqueue_style('blue-planet-style-responsive', get_template_directory_uri() . '/css/responsive.min.css', false, ''); wp_enqueue_script('blue-planet-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.min.js', array(), '20130115', true); if (is_singular() && comments_open() && get_option('thread_comments')) { wp_enqueue_script('comment-reply'); } $slider_status = blueplanet_get_option('slider_status'); $slider_status_2 = blueplanet_get_option('slider_status_2'); if ('none' !== $slider_status || 'none' !== $slider_status_2) { wp_enqueue_style('nivo-slider-style', get_template_directory_uri() . '/thirdparty/nivoslider/nivo-slider.css', false, '3.2'); wp_enqueue_style('nivo-slider-style-theme', get_template_directory_uri() . '/thirdparty/nivoslider/themes/default/default.css', false, '3.2'); wp_enqueue_script('nivo-slider-script', get_template_directory_uri() . '/thirdparty/nivoslider/jquery.nivo.slider.pack.js', array('jquery'), '3.2', true); wp_register_script('blue-planet-theme-script-slider', get_template_directory_uri() . '/js/slider.min.js', array('jquery', 'nivo-slider-script'), '2.0.0', true); $options = blueplanet_get_option_all(); wp_localize_script('blue-planet-theme-script-slider', 'BP_OPTIONS', $options); wp_enqueue_script('blue-planet-theme-script-slider'); } wp_enqueue_style('meanmenu-style', get_template_directory_uri() . '/thirdparty/meanmenu/meanmenu.min.css', false, '2.0.6'); wp_enqueue_script('meanmenu-script', get_template_directory_uri() . '/thirdparty/meanmenu/jquery.meanmenu.min.js', array('jquery'), '2.0.6', true); wp_enqueue_script('blue-planet-theme-script-custom', get_template_directory_uri() . '/js/custom.min.js', array('jquery'), '2.0.0', true); // Scripts for IE hack. global $wp_scripts; wp_enqueue_script('blue-planet-html5shiv', get_template_directory_uri() . '/js/html5shiv.js', array(), '3.6', false); $wp_scripts->add_data('blue-planet-html5shiv', 'conditional', 'lt IE 9'); wp_enqueue_script('blue-planet-respond', get_template_directory_uri() . '/js/respond.min.js', array(), '1.1.0', false); $wp_scripts->add_data('blue-planet-respond', 'conditional', 'lt IE 9'); }