* @copyright Copyright (c) 2008 - 2012, Justin Tadlock * @link http://themehybrid.com/hybrid-core * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** * Loads the Hybrid theme settings once and allows the input of the specific field the user would * like to show. Hybrid theme settings are added with 'autoload' set to 'yes', so the settings are * only loaded once on each page load. * * @since 0.7.0 * @access public * @uses get_option() Gets an option from the database. * @uses hybrid_get_prefix() Gets the prefix of the theme. * @global object $hybrid The global Hybrid object. * @param string $option The specific theme setting the user wants. * @return mixed $settings[$option] Specific setting asked for. */ function hybrid_get_setting( $option = '' ) { global $hybrid; /* If no specific option was requested, return false. */ if ( !$option ) return false; /* If the settings array hasn't been set, call get_option() to get an array of theme settings. */ if ( !isset( $hybrid->settings ) ) $hybrid->settings = get_option( hybrid_get_prefix() . '_theme_settings', hybrid_get_default_theme_settings() ); /* If the settings isn't an array or the specific option isn't in the array, return false. */ if ( !is_array( $hybrid->settings ) || empty( $hybrid->settings[$option] ) ) return false; /* If the specific option is an array, return it. */ if ( is_array( $hybrid->settings[$option] ) ) return $hybrid->settings[$option]; /* Strip slashes from the setting and return. */ else return wp_kses_stripslashes( $hybrid->settings[$option] ); } /** * Sets up a default array of theme settings for use with the theme. Theme developers should filter the * "{$prefix}_default_theme_settings" hook to define any default theme settings. WordPress does not * provide a hook for default settings at this time. * * @since 1.0.0 * @access public * @return array $settings The default theme settings. */ function hybrid_get_default_theme_settings() { /* Set up some default variables. */ $settings = array(); $prefix = hybrid_get_prefix(); /* Get theme-supported meta boxes for the settings page. */ $supports = get_theme_support( 'hybrid-core-theme-settings' ); /* If the current theme supports the footer meta box and shortcodes, add default footer settings. */ if ( is_array( $supports[0] ) && in_array( 'footer', $supports[0] ) && current_theme_supports( 'hybrid-core-shortcodes' ) ) { /* If there is a child theme active, add the [child-link] shortcode to the $footer_insert. */ if ( is_child_theme() ) $settings['footer_insert'] = '
' . __( 'Copyright © [the-year] [site-link].', 'hybrid-core' ) . '
' . "\n\n" . '' . __( 'Powered by [wp-link], [theme-link], and [child-link].', 'hybrid-core' ) . '
'; /* If no child theme is active, leave out the [child-link] shortcode. */ else $settings['footer_insert'] = '' . __( 'Copyright © [the-year] [site-link].', 'hybrid-core' ) . '
' . "\n\n" . '' . __( 'Powered by [wp-link] and [theme-link].', 'hybrid-core' ) . '
'; } /* Return the $settings array and provide a hook for overwriting the default settings. */ return apply_filters( "{$prefix}_default_theme_settings", $settings ); } ?>