WP_Themes_List_Table::prepare_items()

In this article

Source

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,
		)
	);
}

User Contributed Notes

You must log in before being able to contribute a note or feedback.