WP_List_Table::pagination() – Displays the pagination.

You appear to be a bot. Output may be restricted

Description

Displays the pagination.

Usage

WP_List_Table::pagination( $which );

Parameters

$which
( string ) required

Returns

void

Source

File name: wordpress/wp-admin/includes/class-wp-list-table.php
Lines:

1 to 100 of 126
  protected function pagination( $which ) {
    if ( empty( $this->_pagination_args ) ) {
      return;
    }

    $total_items     = $this->_pagination_args['total_items'];
    $total_pages     = $this->_pagination_args['total_pages'];
    $infinite_scroll = false;
    if ( isset( $this->_pagination_args['infinite_scroll'] ) ) {
      $infinite_scroll = $this->_pagination_args['infinite_scroll'];
    }

    if ( 'top' === $which && $total_pages > 1 ) {
      $this->screen->render_screen_reader_content( 'heading_pagination' );
    }

    $output = '<span class="displaying-num">' . sprintf(
      /* translators: %s: Number of items. */
      _n( '%s item', '%s items', $total_items ),
      number_format_i18n( $total_items )
    ) . '</span>';

    $current              = $this->WP_List_Table::get_pagenum();
    $removable_query_args = wp_removable_query_args();

    $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );

    $current_url = remove_query_arg( $removable_query_args, $current_url );

    $page_links = array();

    $total_pages_before = '<span class="paging-input">';
    $total_pages_after  = '</span></span>';

    $disable_first = false;
    $disable_last  = false;
    $disable_prev  = false;
    $disable_next  = false;

    if ( 1 == $current ) {
      $disable_first = true;
      $disable_prev  = true;
    }
    if ( $total_pages == $current ) {
      $disable_last = true;
      $disable_next = true;
    }

    if ( $disable_first ) {
      $page_links[] = '<span class="tablenav-pages-navspan button disabled" aria-hidden="true">&laquo;</span>';
    } else {
      $page_links[] = sprintf(
        "<a class='first-page button' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
        esc_url( remove_query_arg( 'paged', $current_url ) ),
        __( 'First page' ),
        '&laquo;'
      );
    }

    if ( $disable_prev ) {
      $page_links[] = '<span class="tablenav-pages-navspan button disabled" aria-hidden="true">&lsaquo;</span>';
    } else {
      $page_links[] = sprintf(
        "<a class='prev-page button' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
        esc_url( add_query_arg( 'paged', max( 1, $current - 1 ), $current_url ) ),
        __( 'Previous page' ),
        '&lsaquo;'
      );
    }

    if ( 'bottom' === $which ) {
      $html_current_page  = $current;
      $total_pages_before = '<span class="screen-reader-text">' . __( 'Current Page' ) . '</span><span id="table-paging" class="paging-input"><span class="tablenav-paging-text">';
    } else {
      $html_current_page = sprintf(
        "%s<input class='current-page' id='current-page-selector' type='text' name='paged' value='%s' size='%d' aria-describedby='table-paging' /><span class='tablenav-paging-text'>",
        '<label for="current-page-selector" class="screen-reader-text">' . __( 'Current Page' ) . '</label>',
        $current,
        strlen( $total_pages )
      );
    }
    $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
    $page_links[]     = $total_pages_before . sprintf(
      /* translators: 1: Current page, 2: Total pages. */
      _x( '%1$s of %2$s', 'paging' ),
      $html_current_page,
      $html_total_pages
    ) . $total_pages_after;

    if ( $disable_next ) {
      $page_links[] = '<span class="tablenav-pages-navspan button disabled" aria-hidden="true">&rsaquo;</span>';
    } else {
      $page_links[] = sprintf(
        "<a class='next-page button' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
        esc_url( add_query_arg( 'paged', min( $total_pages, $current + 1 ), $current_url ) ),
        __( 'Next page' ),
        '&rsaquo;'
      );
    }

 

 View on GitHub View on Trac