Make WordPress Core


Ignore:
Timestamp:
03/14/2019 07:30:59 PM (6 years ago)
Author:
SergeyBiryukov
Message:

Widgets: Pre-select currently viewed archive in the Archives dropdown widget, for consistency with the Categories widget.

Props robobot3000, audrasjb, afercia, Themonic.
Fixes #40662.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/widgets/class-wp-widget-archives.php

    r44589 r44897  
    5959            ?>
    6060        <label class="screen-reader-text" for="<?php echo esc_attr( $dropdown_id ); ?>"><?php echo $title; ?></label>
    61         <select id="<?php echo esc_attr( $dropdown_id ); ?>" name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'>
     61        <select id="<?php echo esc_attr( $dropdown_id ); ?>" name="archive-dropdown">
    6262            <?php
    6363            /**
     
    105105
    106106        </select>
     107
     108<script type='text/javascript'>
     109/* <![CDATA[ */
     110(function() {
     111    var dropdown = document.getElementById( "<?php echo esc_js( $dropdown_id ); ?>" );
     112    function onSelectChange() {
     113        if ( dropdown.options[ dropdown.selectedIndex ].value !== '' ) {
     114            document.location.href = this.options[ this.selectedIndex ].value;
     115        }
     116    }
     117    dropdown.onchange = onSelectChange;
     118})();
     119/* ]]> */
     120</script>
     121
    107122        <?php } else { ?>
    108123        <ul>
Note: See TracChangeset for help on using the changeset viewer.