'error' => __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ),
'themesFound' => __( 'Number of Themes found: %d' ),
'noThemesFound' => __( 'No themes found. Try a different search.' ),
+ 'collapseSidebar' => __( 'Collapse Sidebar' ),
+ 'expandSidebar' => __( 'Expand Sidebar' ),
),
'installedThemes' => array_keys( $installed_themes ),
) );
}
$help_overview =
- '<p>' . sprintf(__('You can find additional themes for your site by using the Theme Browser/Installer on this screen, which will display themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. These themes are designed and developed by third parties, are available free of charge, and are compatible with the license WordPress uses.'), 'https://wordpress.org/themes/') . '</p>' .
+ '<p>' . sprintf(
+ /* translators: %s: Theme Directory URL */
+ __( 'You can find additional themes for your site by using the Theme Browser/Installer on this screen, which will display themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. These themes are designed and developed by third parties, are available free of charge, and are compatible with the license WordPress uses.' ),
+ __( 'https://wordpress.org/themes/' )
+ ) . '</p>' .
'<p>' . __( 'You can Search for themes by keyword, author, or tag, or can get more specific and search by criteria listed in the feature filter.' ) . ' <span id="live-search-desc">' . __( 'The search results will be updated as you type.' ) . '</span></p>' .
'<p>' . __( 'Alternately, you can browse the themes that are Featured, Popular, or Latest. When you find a theme you like, you can preview it or install it.' ) . '</p>' .
- '<p>' . __('You can Upload a theme manually if you have already downloaded its ZIP archive onto your computer (make sure it is from a trusted and original source). You can also do it the old-fashioned way and copy a downloaded theme’s folder via FTP into your <code>/wp-content/themes</code> directory.') . '</p>';
+ '<p>' . sprintf(
+ /* translators: %s: /wp-content/themes */
+ __( 'You can Upload a theme manually if you have already downloaded its ZIP archive onto your computer (make sure it is from a trusted and original source). You can also do it the old-fashioned way and copy a downloaded theme’s folder via FTP into your %s directory.' ),
+ '<code>/wp-content/themes</code>'
+ ) . '</p>';
get_current_screen()->add_help_tab( array(
'id' => 'overview',
?>
<div class="wrap">
- <h2><?php
+ <h1><?php
echo esc_html( $title );
/**
*/
$tabs = apply_filters( 'install_themes_tabs', array( 'upload' => __( 'Upload Theme' ) ) );
if ( ! empty( $tabs['upload'] ) && current_user_can( 'upload_themes' ) ) {
- echo ' <a href="#" class="upload add-new-h2">' . __( 'Upload Theme' ) . '</a>';
- echo ' <a href="#" class="browse-themes add-new-h2">' . _x( 'Browse', 'themes' ) . '</a>';
+ echo ' <a href="#" class="upload page-title-action">' . __( 'Upload Theme' ) . '</a>';
+ echo ' <a href="#" class="browse-themes page-title-action">' . _x( 'Browse', 'themes' ) . '</a>';
}
- ?></h2>
+ ?></h1>
<div class="upload-theme">
<?php install_themes_upload(); ?>
</div>
+ <h2 class="screen-reader-text"><?php _e( 'Filter themes list' ); ?></h2>
+
<div class="wp-filter">
<div class="filter-count">
<span class="count theme-count"></span>
<li><a href="#" data-sort="featured"><?php _ex( 'Featured', 'themes' ); ?></a></li>
<li><a href="#" data-sort="popular"><?php _ex( 'Popular', 'themes' ); ?></a></li>
<li><a href="#" data-sort="new"><?php _ex( 'Latest', 'themes' ); ?></a></li>
+ <li><a href="#" data-sort="favorites"><?php _ex( 'Favorites', 'themes' ); ?></a></li>
</ul>
<a class="drawer-toggle" href="#"><?php _e( 'Feature Filter' ); ?></a>
<div class="search-form"></div>
+ <div class="favorites-form">
+ <?php
+ $action = 'save_wporg_username_' . get_current_user_id();
+ if ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( wp_unslash( $_GET['_wpnonce'] ), $action ) ) {
+ $user = isset( $_GET['user'] ) ? wp_unslash( $_GET['user'] ) : get_user_option( 'wporg_favorites' );
+ update_user_meta( get_current_user_id(), 'wporg_favorites', $user );
+ } else {
+ $user = get_user_option( 'wporg_favorites' );
+ }
+ ?>
+ <p class="install-help"><?php _e( 'If you have marked themes as favorites on WordPress.org, you can browse them here.' ); ?></p>
+
+ <p>
+ <label for="wporg-username-input"><?php _e( 'Your WordPress.org username:' ); ?></label>
+ <input type="hidden" id="wporg-username-nonce" name="_wpnonce" value="<?php echo esc_attr( wp_create_nonce( $action ) ); ?>" />
+ <input type="search" id="wporg-username-input" value="<?php echo esc_attr( $user ); ?>" />
+ <input type="button" class="button button-secondary favorites-form-submit" value="<?php esc_attr_e( 'Get Favorites' ); ?>" />
+ </p>
+ </div>
+
<div class="filter-drawer">
<div class="buttons">
<a class="apply-filters button button-secondary" href="#"><?php _e( 'Apply Filters' ); ?><span></span></a>
<?php
$feature_list = get_theme_feature_list();
foreach ( $feature_list as $feature_name => $features ) {
- echo '<div class="filter-group">';
+ echo '<fieldset class="filter-group">';
$feature_name = esc_html( $feature_name );
- echo '<h4>' . $feature_name . '</h4>';
- echo '<ol class="feature-group">';
+ echo '<legend>' . $feature_name . '</legend>';
+ echo '<div class="filter-group-feature">';
foreach ( $features as $feature => $feature_name ) {
$feature = esc_attr( $feature );
- echo '<li><input type="checkbox" id="filter-id-' . $feature . '" value="' . $feature . '" /> ';
- echo '<label for="filter-id-' . $feature . '">' . $feature_name . '</label></li>';
+ echo '<input type="checkbox" id="filter-id-' . $feature . '" value="' . $feature . '" /> ';
+ echo '<label for="filter-id-' . $feature . '">' . $feature_name . '</label><br>';
}
- echo '</ol>';
echo '</div>';
+ echo '</fieldset>';
}
?>
<div class="filtered-by">
</div>
</div>
</div>
+ <h2 class="screen-reader-text"><?php _e( 'Themes list' ); ?></h2>
<div class="theme-browser content-filterable"></div>
<div class="theme-install-overlay wp-full-overlay expanded"></div>
<p class="no-themes"><?php _e( 'No themes found. Try a different search.' ); ?></p>
<span class="spinner"></span>
- <br class="clear" />
<?php
if ( $tab ) {
/**
<div class="theme-details">
<# if ( data.rating ) { #>
- <div class="rating rating-{{ Math.round( data.rating / 10 ) * 10 }}">
- <span class="one"></span>
- <span class="two"></span>
- <span class="three"></span>
- <span class="four"></span>
- <span class="five"></span>
- <small class="ratings">{{ data.num_ratings }}</small>
+ <div class="theme-rating">
+ {{{ data.stars }}}
+ <span class="num-ratings" aria-hidden="true">({{ data.num_ratings }})</span>
</div>
<# } else { #>
- <div class="rating">
- <small class="ratings"><?php _e( 'This theme has not been rated yet.' ); ?></small>
- </div>
+ <span class="no-rating"><?php _e( 'This theme has not been rated yet.' ); ?></span>
<# } #>
<div class="theme-version"><?php printf( __( 'Version: %s' ), '{{ data.version }}' ); ?></div>
<div class="theme-description">{{{ data.description }}}</div>
</div>
</div>
<div class="wp-full-overlay-footer">
- <a href="#" class="collapse-sidebar" title="<?php esc_attr_e( 'Collapse Sidebar' ); ?>">
- <span class="collapse-sidebar-label"><?php _e( 'Collapse' ); ?></span>
+ <div class="devices">
+ <button type="button" class="preview-desktop active" aria-pressed="true" data-device="desktop"><span class="screen-reader-text"><?php _e( 'Enter desktop preview mode' ); ?></span></button>
+ <button type="button" class="preview-tablet" aria-pressed="false" data-device="tablet"><span class="screen-reader-text"><?php _e( 'Enter tablet preview mode' ); ?></span></button>
+ <button type="button" class="preview-mobile" aria-pressed="false" data-device="mobile"><span class="screen-reader-text"><?php _e( 'Enter mobile preview mode' ); ?></span></button>
+ </div>
+ <button type="button" class="collapse-sidebar button-secondary" aria-expanded="true" aria-label="<?php esc_attr_e( 'Collapse Sidebar' ); ?>">
<span class="collapse-sidebar-arrow"></span>
- </a>
+ <span class="collapse-sidebar-label"><?php _e( 'Collapse' ); ?></span>
+ </button>
</div>
</div>
<div class="wp-full-overlay-main">