WordPress.org

Make WordPress Core

Ticket #21297: 21297.3.diff

File 21297.3.diff, 4.0 KB (added by obenland, 6 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' ),