WordPress.org

Make WordPress Core

Ticket #17851: template.php.2.patch

File template.php.2.patch, 1.7 KB (added by ross_ritchey, 3 years ago)

Refresh of patch

  • template.php

     
    12031203 *                           'general', 'reading', 'writing', 'discussion', 'media', etc. Create your own using
    12041204 *                           add_options_page();
    12051205 */
    1206 function add_settings_section($id, $title, $callback, $page) {
     1206function add_settings_section($id, $title, $callback, $page, $args = array()) {
    12071207        global $wp_settings_sections;
    12081208
     1209        $defaults = array(
     1210                'id' => $id,
     1211                'title' => $title,
     1212                'callback' => $callback,
     1213                'before_section' => "",
     1214                'after_section' => "",
     1215                'section_class' => "",
     1216        );
     1217        $section = wp_parse_args( $args, $defaults );
     1218
    12091219        if ( 'misc' == $page ) {
    12101220                _deprecated_argument( __FUNCTION__, '3.0.0', sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ), 'misc' ) );
    12111221                $page = 'general';
     
    12161226                $page = 'reading';
    12171227        }
    12181228
    1219         $wp_settings_sections[$page][$id] = array('id' => $id, 'title' => $title, 'callback' => $callback);
     1229        $wp_settings_sections[$page][$id] = $section;
    12201230}
    12211231
    12221232/**
     
    12901300                return;
    12911301
    12921302        foreach ( (array) $wp_settings_sections[$page] as $section ) {
     1303                if ( $section['before_section'] != "" ) {
     1304                        echo sprintf($section['before_section'], $section['section_class']);
     1305                }
    12931306                if ( $section['title'] )
    12941307                        echo "<h2>{$section['title']}</h2>\n";
    12951308
     
    13011314                echo '<table class="form-table">';
    13021315                do_settings_fields( $page, $section['id'] );
    13031316                echo '</table>';
     1317                if ( $section['after_section'] != "" ) {
     1318                        echo $section['after_section'];
     1319                }
    13041320        }
    13051321}
    13061322