true,
			'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
		) );
	}
	/**
	 *
	 * @return bool
	 */
	public function ajax_user_can() {
		// Do not check edit_theme_options here. Ajax calls for available themes require switch_themes.
		return current_user_can( 'switch_themes' );
	}
	/**
	 */
	public function prepare_items() {
		$themes = wp_get_themes( array( 'allowed' => true ) );
		if ( ! empty( $_REQUEST['s'] ) )
			$this->search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', strtolower( wp_unslash( $_REQUEST['s'] ) ) ) ) ) );
		if ( ! empty( $_REQUEST['features'] ) )
			$this->features = $_REQUEST['features'];
		if ( $this->search_terms || $this->features ) {
			foreach ( $themes as $key => $theme ) {
				if ( ! $this->search_theme( $theme ) )
					unset( $themes[ $key ] );
			}
		}
		unset( $themes[ get_option( 'stylesheet' ) ] );
		WP_Theme::sort_by_name( $themes );
		$per_page = 36;
		$page = $this->get_pagenum();
		$start = ( $page - 1 ) * $per_page;
		$this->items = array_slice( $themes, $start, $per_page, true );
		$this->set_pagination_args( array(
			'total_items' => count( $themes ),
			'per_page' => $per_page,
			'infinite_scroll' => true,
		) );
	}
	/**
	 */
	public function no_items() {
		if ( $this->search_terms || $this->features ) {
			_e( 'No items found.' );
			return;
		}
		$blog_id = get_current_blog_id();
		if ( is_multisite() ) {
			if ( current_user_can( 'install_themes' ) && current_user_can( 'manage_network_themes' ) ) {
				printf( __( 'You only have one theme enabled for this site right now. Visit the Network Admin to enable or install more themes.' ), network_admin_url( 'site-themes.php?id=' . $blog_id ), network_admin_url( 'theme-install.php' ) );
				return;
			} elseif ( current_user_can( 'manage_network_themes' ) ) {
				printf( __( 'You only have one theme enabled for this site right now. Visit the Network Admin to enable more themes.' ), network_admin_url( 'site-themes.php?id=' . $blog_id ) );
				return;
			}
			// Else, fallthrough. install_themes doesn't help if you can't enable it.
		} else {
			if ( current_user_can( 'install_themes' ) ) {
				printf( __( 'You only have one theme installed right now. Live a little! You can choose from over 1,000 free themes in the WordPress Theme Directory at any time: just click on the Install Themes tab above.' ), admin_url( 'theme-install.php' ) );
				return;
			}
		}
		// Fallthrough.
		printf( __( 'Only the current theme is available to you. Contact the %s administrator for information about accessing additional themes.' ), get_site_option( 'site_name' ) );
	}
	/**
	 * @param string $which
	 */
	public function tablenav( $which = 'top' ) {
		if ( $this->get_pagination_arg( 'total_pages' ) <= 1 )
			return;
		?>
		
			pagination( $which ); ?>
			
			
		
		
		tablenav( 'top' ); ?>
		
			display_rows_or_placeholder(); ?>
		
		tablenav( 'bottom' ); ?>
has_items() ) {
			$this->display_rows();
		} else {
			echo '';
			$this->no_items();
			echo '
';
		}
	}
	/**
	 */
	public function display_rows() {
		$themes = $this->items;
		foreach ( $themes as $theme ):
			?>get_template();
			$stylesheet = $theme->get_stylesheet();
			$title      = $theme->display('Name');
			$version    = $theme->display('Version');
			$author     = $theme->display('Author');
			$activate_link = wp_nonce_url( "themes.php?action=activate&template=" . urlencode( $template ) . "&stylesheet=" . urlencode( $stylesheet ), 'switch-theme_' . $stylesheet );
			$actions = array();
			$actions['activate'] = '
' . __( 'Activate' ) . '';
			if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
				$actions['preview'] .= '
'
					. __( 'Live Preview' ) . '';
			}
			if ( ! is_multisite() && current_user_can( 'delete_themes' ) )
				$actions['delete'] = '
' . __( 'Delete' ) . '';
			/** This filter is documented in wp-admin/includes/class-wp-ms-themes-list-table.php */
			$actions       = apply_filters( 'theme_action_links', $actions, $theme, 'all' );
			/** This filter is documented in wp-admin/includes/class-wp-ms-themes-list-table.php */
			$actions       = apply_filters( "theme_action_links_$stylesheet", $actions, $theme, 'all' );
			$delete_action = isset( $actions['delete'] ) ? '
' . $actions['delete'] . '
' : '';
			unset( $actions['delete'] );
			?>
			
				get_screenshot() ) : ?>
					; ?>) get_screenshot() ) : ?>
				
			
			
				get_screenshot() ) : ?>
					; ?>) 
				
			
			
			
			
			
				 
				display('Description'); ?>
				parent() ) {
					printf( ' 
' . __( 'This child theme requires its parent theme, %2$s.' ) . '
',
						__( 'https://codex.wordpress.org/Child_Themes' ),
						$theme->parent()->display( 'Name' ) );
				} ?>