Bring the theme browsing experience from 3.8 to the theme installer. First pass.

props matveb with assists from me and gcorne.
see #27055.


git-svn-id: https://develop.svn.wordpress.org/trunk@27499 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Nacin
2014-03-11 07:46:27 +00:00
parent a9b6b9339f
commit 96176b269d
8 changed files with 781 additions and 516 deletions

View File

@@ -132,11 +132,10 @@ function install_themes_dashboard() {
</form>
<?php
}
add_action('install_themes_dashboard', 'install_themes_dashboard');
// add_action('install_themes_dashboard', 'install_themes_dashboard');
function install_themes_upload($page = 1) {
function install_themes_upload() {
?>
<h4><?php _e('Install a theme in .zip format'); ?></h4>
<p class="install-help"><?php _e('If you have a theme in a .zip format, you may install it by uploading it here.'); ?></p>
<form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo self_admin_url('update.php?action=upload-theme'); ?>">
<?php wp_nonce_field( 'theme-upload'); ?>
@@ -145,7 +144,7 @@ function install_themes_upload($page = 1) {
</form>
<?php
}
add_action('install_themes_upload', 'install_themes_upload', 10, 1);
// add_action('install_themes_upload', 'install_themes_upload', 10, 0);
/**
* Prints a theme on the Install Themes pages.
@@ -155,6 +154,10 @@ add_action('install_themes_upload', 'install_themes_upload', 10, 1);
function display_theme( $theme ) {
_deprecated_function( __FUNCTION__, '3.4' );
global $wp_list_table;
if ( ! isset( $wp_list_table ) ) {
$wp_list_table = _get_list_table('WP_Theme_Install_List_Table');
}
$wp_list_table->prepare_items();
$wp_list_table->single_row( $theme );
}
@@ -166,12 +169,17 @@ function display_theme( $theme ) {
function display_themes() {
global $wp_list_table;
if ( ! isset( $wp_list_table ) ) {
$wp_list_table = _get_list_table('WP_Theme_Install_List_Table');
}
$wp_list_table->prepare_items();
$wp_list_table->display();
}
add_action('install_themes_search', 'display_themes');
add_action('install_themes_featured', 'display_themes');
add_action('install_themes_new', 'display_themes');
add_action('install_themes_updated', 'display_themes');
// add_action('install_themes_search', 'display_themes');
// add_action('install_themes_featured', 'display_themes');
// add_action('install_themes_new', 'display_themes');
// add_action('install_themes_updated', 'display_themes');
/**
* Display theme information in dialog box form.
@@ -179,7 +187,7 @@ add_action('install_themes_updated', 'display_themes');
* @since 2.8.0
*/
function install_theme_information() {
global $tab, $themes_allowedtags, $wp_list_table;
global $wp_list_table;
$theme = themes_api( 'theme_information', array( 'slug' => wp_unslash( $_REQUEST['theme'] ) ) );
@@ -187,6 +195,9 @@ function install_theme_information() {
wp_die( $theme );
iframe_header( __('Theme Install') );
if ( ! isset( $wp_list_table ) ) {
$wp_list_table = _get_list_table('WP_Theme_Install_List_Table');
}
$wp_list_table->theme_installer_single( $theme );
iframe_footer();
exit;