$wp_list_table = _get_list_table('WP_Plugin_Install_List_Table');
$pagenum = $wp_list_table->get_pagenum();
+
+if ( ! empty( $_REQUEST['_wp_http_referer'] ) ) {
+ $location = remove_query_arg( '_wp_http_referer', wp_unslash( $_SERVER['REQUEST_URI'] ) );
+
+ if ( ! empty( $_REQUEST['paged'] ) ) {
+ $location = add_query_arg( 'paged', (int) $_REQUEST['paged'], $location );
+ }
+
+ wp_redirect( $location );
+ exit;
+}
+
$wp_list_table->prepare_items();
+$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
+
+if ( $pagenum > $total_pages && $total_pages > 0 ) {
+ wp_redirect( add_query_arg( 'paged', $total_pages ) );
+ exit;
+}
+
$title = __( 'Add Plugins' );
$parent_file = 'plugins.php';
/**
* Fires before each tab on the Install Plugins screen is loaded.
*
- * The dynamic portion of the action hook, $tab, allows for targeting
+ * The dynamic portion of the action hook, `$tab`, allows for targeting
* individual tabs, for instance 'install_plugins_pre_plugin-information'.
*
* @since 2.7.0
/**
* Fires after the plugins list table in each tab of the Install Plugins screen.
*
- * The dynamic portion of the action hook, $tab, allows for targeting
+ * The dynamic portion of the action hook, `$tab`, allows for targeting
* individual tabs, for instance 'install_plugins_plugin-information'.
*
* @since 2.7.0
*
* @param int $paged The current page number of the plugins list table.
*/
-?>
-<?php do_action( "install_plugins_$tab", $paged ); ?>
+do_action( "install_plugins_$tab", $paged ); ?>
</div>
<?php
/**