WordPress.org

Make WordPress Core

Ticket #21297: 21297.3.diff

File 21297.3.diff, 4.0 KB (added by obenland, 3 years ago)

Added documentation

  • wp-content/themes/twentytwelve/inc/theme-options.php

     
    88 */ 
    99 
    1010class Twenty_Twelve_Options { 
     11         
    1112        /** 
    1213         * The option value in the database will be based on get_stylesheet() 
    1314         * so child themes don't share the parent theme's option value. 
     15         *  
     16         * @var string 
     17         * @access public 
    1418         */ 
    15         var $option_key = 'twentytwelve_theme_options'; 
     19        public $option_key = 'twentytwelve_theme_options'; 
    1620 
    1721        /** 
    18          * Initialize our options. 
     22         * Holds our options. 
     23         *  
     24         * @var array 
     25         * @access public 
    1926         */ 
    20         var $options = array(); 
     27        public $options = array(); 
    2128 
    22         function Twenty_Twelve_Options() { 
     29        /** 
     30         * Constructor 
     31         *  
     32         * @access public 
     33         *  
     34         * @return Twenty_Twelve_Options 
     35         */ 
     36        public function __construct() { 
    2337                // Set option key based on get_stylesheet() 
    2438                if ( 'twentytwelve' != get_stylesheet() ) 
    2539                        $this->option_key = get_stylesheet() . '_theme_options'; 
     
    3751         * This call to register_setting() registers a validation callback, validate(), 
    3852         * which is used when the option is saved, to ensure that our option values are properly 
    3953         * formatted, and safe. 
     54         *  
     55         * @access public 
     56         *  
     57         * @return void 
    4058         */ 
    41         function options_init() { 
     59        public function options_init() { 
    4260                // Load our options for use in any method. 
    4361                $this->options = $this->get_theme_options(); 
    4462 
     
    7189         * Add our theme options page to the admin menu. 
    7290         * 
    7391         * This function is attached to the admin_menu action hook. 
     92         *  
     93         * @access public 
     94         *  
     95         * @return void 
    7496         */ 
    75         function add_page() { 
     97        public function add_page() { 
    7698                $theme_page = add_theme_page( 
    7799                        __( 'Theme Options', 'twentytwelve' ), // Name of page 
    78100                        __( 'Theme Options', 'twentytwelve' ), // Label in menu 
     
    84106 
    85107        /** 
    86108         * Returns the default options. 
     109         *  
     110         * @access public 
     111         *  
     112         * @return array The default options 
    87113         */ 
    88         function get_default_theme_options() { 
     114        public function get_default_theme_options() { 
    89115                $default_theme_options = array( 
    90116                        'enable_fonts' => false, 
    91117                ); 
     
    95121 
    96122        /** 
    97123         * Returns the options array. 
     124         *  
     125         * @access public 
     126         *  
     127         * @return array The Theme options 
    98128         */ 
    99         function get_theme_options() { 
     129        public function get_theme_options() { 
    100130                return get_option( $this->option_key, $this->get_default_theme_options() ); 
    101131        } 
    102132 
    103133        /** 
    104134         * Renders the enable fonts checkbox setting field. 
     135         *  
     136         * @access public 
     137         *  
     138         * @return void 
    105139         */ 
    106         function settings_field_enable_fonts() { 
     140        public function settings_field_enable_fonts() { 
    107141                $options = $this->options; 
    108142                ?> 
    109143                <label for="enable-fonts"> 
     
    117151         * Returns the options array. 
    118152         * 
    119153         * @uses get_current_theme() for back compat, fallback for < 3.4 
     154         * @access public 
     155         *  
     156         * @return void 
    120157         */ 
    121         function render_page() { 
     158        public function render_page() { 
    122159                ?> 
    123160                <div class="wrap"> 
    124161                        <?php screen_icon(); ?> 
     
    141178         * Sanitize and validate form input. Accepts an array, return a sanitized array. 
    142179         * 
    143180         * @see options_init() 
     181         * @access public 
     182         * @param array $input 
     183         *  
     184         * @return array The validated data 
    144185         */ 
    145         function validate( $input ) { 
     186        public function validate( $input ) { 
    146187                $output = $defaults = $this->get_default_theme_options(); 
    147188 
    148189                // The enable fonts checkbox should boolean true or false 
     
    155196 
    156197        /** 
    157198         * Implement Twenty Twelve theme options into Theme Customizer 
    158          * 
    159          * @param $wp_customize Theme Customizer object 
    160          * @return void 
    161          * 
     199         *  
    162200         * @since Twenty Twelve 1.0 
     201         * @access public 
     202         * @param WP_Customize_Manager $wp_customize Theme Customizer object 
     203         *  
     204         * @return void 
    163205         */ 
    164         function customize_register( $wp_customize ) { 
     206        public function customize_register( $wp_customize ) { 
    165207                // Enable Web Fonts 
    166208                $wp_customize->add_section( $this->option_key . '_enable_fonts', array( 
    167209                        'title'    => __( 'Fonts', 'twentytwelve' ),