<?php
/*
 Plugin Name: Pagination Test for WP 4.3
 Version: 1.0
 Description: Demonstrates potential issues with WP 4.3 commit https://core.trac.wordpress.org/changeset/32948
 Author: Marcus Sykes
 */

function paginate_test_options_page(){
    $total = 1000;
    $limit = 20;
    $page = !empty($_REQUEST['pno']) ? absint($_REQUEST['pno']) : 1;
    $base = esc_url_raw(add_query_arg( 'pno', '%#%' ));
    ?>
    <h1>Check out pagination... </h1>
    <div class="tablenav" style="width:50%;">
        <div class="tablenav-pages">
            <?php
                echo sprintf( '<span class="displaying-num">Displaying %s&#8211;%s of %s</span>', number_format_i18n( ( $page - 1 ) * $limit + 1 ), number_format_i18n( min( $page * $limit, $total ) ), number_format_i18n( $total ));
                echo paginate_links( array(
                    'base' => $base,
                    'total' => ceil($total / $limit),
                    'current' => $page
                ));
            ?>
        </div>
    </div>
    <h2>Without the prev/next text still causes issues:</h2>
    <div class="tablenav" style="width:50%;">
        <div class="tablenav-pages">
            <?php
                echo sprintf( '<span class="displaying-num">Displaying %s&#8211;%s of %s</span>', number_format_i18n( ( $page - 1 ) * $limit + 1 ), number_format_i18n( min( $page * $limit, $total ) ), number_format_i18n( $total ));
                echo paginate_links( array(
                    'base' => $base,
                    'total' => ceil($total / $limit),
                    'current' => $page,
                    'prev_text' =>'&laquo;',
                    'next_text' => '&raquo;'
                ));
            ?>
        </div>
    </div>
    <?php
}

function pagination_test_settings_menu(){
    add_options_page('Pagination Test', 'Pagination Test', 'list_users', 'paginate-test', 'paginate_test_options_page');
}
add_action ( 'admin_menu', 'pagination_test_settings_menu');