diff --git a/wp-admin/includes/default-list-tables.php b/wp-admin/includes/default-list-tables.php index 0fc632fc34..dcbff0e06d 100644 --- a/wp-admin/includes/default-list-tables.php +++ b/wp-admin/includes/default-list-tables.php @@ -3870,7 +3870,7 @@ class WP_Themes_Table extends WP_List_Table { if ( !current_user_can('switch_themes') && !current_user_can('edit_theme_options') ) wp_die( __( 'Cheatin’ uh?' ) ); } - + function prepare_items() { global $ct; @@ -3880,9 +3880,19 @@ class WP_Themes_Table extends WP_List_Table { $search = !empty( $_REQUEST['s'] ) ? trim( stripslashes( $_REQUEST['s'] ) ) : ''; - if ( '' !== $this->search ) { + if ( '' !== $search ) { $this->search = array_merge( $this->search, array_filter( array_map( 'trim', explode( ',', $search ) ) ) ); $this->search = array_unique( $this->search ); + } + + if ( !empty( $_REQUEST['features'] ) ) { + $this->features = $_REQUEST['features']; + $this->features = array_map( 'trim', $this->features ); + $this->features = array_map( 'sanitize_title_with_dashes', $this->features ); + $this->features = array_unique( $this->features ); + } + + if ( $this->search || $this->features ) { foreach ( $themes as $key => $theme ) { if ( !$this->search_theme( $theme ) ) unset( $themes[ $key ] ); diff --git a/wp-admin/themes.php b/wp-admin/themes.php index 697b0f0ec8..e7b6ba0f46 100644 --- a/wp-admin/themes.php +++ b/wp-admin/themes.php @@ -142,7 +142,7 @@ if ( ! current_user_can( 'switch_themes' ) ) {
-