WordPress.org

Make WordPress Core

Ticket #18650: 18650-patch.diff

File 18650-patch.diff, 2.5 KB (added by jlevandowski, 7 years ago)
  • wp-includes/default-widgets.php

     
    225225                $title = apply_filters('widget_title', empty($instance['title']) ? __('Archives') : $instance['title'], $instance, $this->id_base);
    226226
    227227                echo $before_widget;
    228                 if ( $title )
    229                         echo $before_title . $title . $after_title;
    230 
     228                if ( $title ) {
     229                        echo $before_title;
     230                        if ( $d ) {
     231                                echo '<label for="' . $this->id_base . '-dropdown-' . $this->number . '">' . $title . '</label>';
     232                        } else {
     233                                echo $title;
     234                        }
     235                        echo $after_title;
     236                }
    231237                if ( $d ) {
    232238?>
    233                 <select name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <option value=""><?php echo esc_attr(__('Select Month')); ?></option> <?php wp_get_archives(apply_filters('widget_archives_dropdown_args', array('type' => 'monthly', 'format' => 'option', 'show_post_count' => $c))); ?> </select>
     239                <select id="<?php echo $this->id_base . '-dropdown-' . $this->number; ?>" name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <option value=""><?php echo esc_attr(__('Select Month')); ?></option> <?php wp_get_archives(apply_filters('widget_archives_dropdown_args', array('type' => 'monthly', 'format' => 'option', 'show_post_count' => $c))); ?> </select>
    234240<?php
    235241                } else {
    236242?>
     
    431437                $d = $instance['dropdown'] ? '1' : '0';
    432438
    433439                echo $before_widget;
    434                 if ( $title )
    435                         echo $before_title . $title . $after_title;
     440                if ( $title ) {
     441                        echo $before_title;
     442                        if ( $d ) {
     443                                echo '<label for="' . $this->id_base . '-dropdown-' . $this->number . '">' . $title . '</label>';
     444                        } else {
     445                                echo $title;
     446                        }
     447                        echo $after_title;
     448                }
    436449
    437450                $cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h);
    438451
    439452                if ( $d ) {
    440453                        $cat_args['show_option_none'] = __('Select Category');
     454                        $cat_args['id'] = $this->id_base . '-dropdown-' . $this->number;
    441455                        wp_dropdown_categories(apply_filters('widget_categories_dropdown_args', $cat_args));
    442456?>
    443457
    444458<script type='text/javascript'>
    445459/* <![CDATA[ */
    446         var dropdown = document.getElementById("cat");
     460        var dropdown = document.getElementById("<?php echo $this->id_base . '-dropdown-' . $this->number; ?>");
    447461        function onCatChange() {
    448462                if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
    449463                        location.href = "<?php echo home_url(); ?>/?cat="+dropdown.options[dropdown.selectedIndex].value;