Plugin search: Wrap results in a form to fix pagination's `paged` input field.
props jesin, ocean90. see #18724, for trunk. Built from https://develop.svn.wordpress.org/trunk@29829 git-svn-id: http://core.svn.wordpress.org/trunk@29594 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
5bf20b46ea
commit
197f0a30a4
|
@ -273,7 +273,9 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( 'top' == $which ) { ?>
|
if ( 'top' == $which ) {
|
||||||
|
wp_referer_field();
|
||||||
|
?>
|
||||||
<div class="tablenav top">
|
<div class="tablenav top">
|
||||||
<div class="alignleft actions">
|
<div class="alignleft actions">
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -235,10 +235,15 @@ function install_plugins_favorites_form() {
|
||||||
function display_plugins_table() {
|
function display_plugins_table() {
|
||||||
global $wp_list_table;
|
global $wp_list_table;
|
||||||
|
|
||||||
if ( current_filter() == 'install_plugins_favorites' && empty( $_GET['user'] ) && ! get_user_option( 'wporg_favorites' ) )
|
if ( current_filter() == 'install_plugins_favorites' && empty( $_GET['user'] ) && ! get_user_option( 'wporg_favorites' ) ) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$wp_list_table->display();
|
?>
|
||||||
|
<form id="plugin-filter" action="" method="post">
|
||||||
|
<?php $wp_list_table->display(); ?>
|
||||||
|
</form>
|
||||||
|
<?php
|
||||||
}
|
}
|
||||||
add_action( 'install_plugins_search', 'display_plugins_table' );
|
add_action( 'install_plugins_search', 'display_plugins_table' );
|
||||||
add_action( 'install_plugins_popular', 'display_plugins_table' );
|
add_action( 'install_plugins_popular', 'display_plugins_table' );
|
||||||
|
|
|
@ -24,8 +24,27 @@ if ( is_multisite() && ! is_network_admin() ) {
|
||||||
|
|
||||||
$wp_list_table = _get_list_table('WP_Plugin_Install_List_Table');
|
$wp_list_table = _get_list_table('WP_Plugin_Install_List_Table');
|
||||||
$pagenum = $wp_list_table->get_pagenum();
|
$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();
|
$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' );
|
$title = __( 'Add Plugins' );
|
||||||
$parent_file = 'plugins.php';
|
$parent_file = 'plugins.php';
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue