| 1 | 2586a2587
|
|---|
| 2 | > <?php
|
|---|
| 3 | 2598d2598
|
|---|
| 4 | < $query_args = urlencode_deep( $query_args );
|
|---|
| 5 | 2619c2619
|
|---|
| 6 | < 'add_args' => $query_args, // array of query args to add
|
|---|
| 7 | ---
|
|---|
| 8 | > 'add_args' => false, // array of query args to add
|
|---|
| 9 | 2622c2622,2623
|
|---|
| 10 | < 'after_page_number' => ''
|
|---|
| 11 | ---
|
|---|
| 12 | > 'after_page_number' => '',
|
|---|
| 13 | > 'link_current' => false,
|
|---|
| 14 | 2643a2645
|
|---|
| 15 | > $page_link_data = array();
|
|---|
| 16 | 2644a2647
|
|---|
| 17 | > $active = false;
|
|---|
| 18 | 2660c2663,2668
|
|---|
| 19 | < $page_links[] = '<a class="prev page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $args['prev_text'] . '</a>';
|
|---|
| 20 | ---
|
|---|
| 21 | > $page_link_data[] = array(
|
|---|
| 22 | > 'type' => 'prev',
|
|---|
| 23 | > 'link' => esc_url( apply_filters( 'paginate_links', $link ) ),
|
|---|
| 24 | > 'text' => $prev_text,
|
|---|
| 25 | > 'active' => false,
|
|---|
| 26 | > );
|
|---|
| 27 | 2663,2664c2671,2685
|
|---|
| 28 | < if ( $n == $current ) :
|
|---|
| 29 | < $page_links[] = "<span class='page-numbers current'>" . $args['before_page_number'] . number_format_i18n( $n ) . $args['after_page_number'] . "</span>";
|
|---|
| 30 | ---
|
|---|
| 31 | > if ( $args['show_all'] || ( $n <= $end_size || ( $current && $n >= $current - $mid_size && $n <= $current + $mid_size ) || $n > $total - $end_size ) ) :
|
|---|
| 32 | > $link = str_replace( '%_%', 1 == $n ? '' : $args['format'], $args['base'] );
|
|---|
| 33 | > $link = str_replace( '%#%', $n, $link );
|
|---|
| 34 | > if ( $add_args ) {
|
|---|
| 35 | > $link = add_query_arg( $add_args, $link );
|
|---|
| 36 | > }
|
|---|
| 37 | > $link .= $args['add_fragment'];
|
|---|
| 38 | >
|
|---|
| 39 | > /** This filter is documented in wp-includes/general-template.php */
|
|---|
| 40 | > $page_link_data[] = array(
|
|---|
| 41 | > 'type' => 'page',
|
|---|
| 42 | > 'link' => esc_url( apply_filters( 'paginate_links', $link ) ),
|
|---|
| 43 | > 'text' => number_format_i18n( $n ),
|
|---|
| 44 | > 'active' => ( $n == $current ),
|
|---|
| 45 | > );
|
|---|
| 46 | 2666,2680c2687,2694
|
|---|
| 47 | < else :
|
|---|
| 48 | < if ( $args['show_all'] || ( $n <= $end_size || ( $current && $n >= $current - $mid_size && $n <= $current + $mid_size ) || $n > $total - $end_size ) ) :
|
|---|
| 49 | < $link = str_replace( '%_%', 1 == $n ? '' : $args['format'], $args['base'] );
|
|---|
| 50 | < $link = str_replace( '%#%', $n, $link );
|
|---|
| 51 | < if ( $add_args )
|
|---|
| 52 | < $link = add_query_arg( $add_args, $link );
|
|---|
| 53 | < $link .= $args['add_fragment'];
|
|---|
| 54 | <
|
|---|
| 55 | < /** This filter is documented in wp-includes/general-template.php */
|
|---|
| 56 | < $page_links[] = "<a class='page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>" . $args['before_page_number'] . number_format_i18n( $n ) . $args['after_page_number'] . "</a>";
|
|---|
| 57 | < $dots = true;
|
|---|
| 58 | < elseif ( $dots && ! $args['show_all'] ) :
|
|---|
| 59 | < $page_links[] = '<span class="page-numbers dots">' . __( '…' ) . '</span>';
|
|---|
| 60 | < $dots = false;
|
|---|
| 61 | < endif;
|
|---|
| 62 | ---
|
|---|
| 63 | > elseif ( $dots && !$args['show_all'] ) :
|
|---|
| 64 | > $page_link_data[] = array(
|
|---|
| 65 | > 'type' => 'dots',
|
|---|
| 66 | > 'link' => null,
|
|---|
| 67 | > 'text' => __( '…' ),
|
|---|
| 68 | > 'active' => false,
|
|---|
| 69 | > );
|
|---|
| 70 | > $dots = false;
|
|---|
| 71 | 2691c2705,2734
|
|---|
| 72 | < $page_links[] = '<a class="next page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $args['next_text'] . '</a>';
|
|---|
| 73 | ---
|
|---|
| 74 | > $page_link_data[] = array(
|
|---|
| 75 | > 'type' => 'next',
|
|---|
| 76 | > 'link' => esc_url( apply_filters( 'paginate_links', $link ) ),
|
|---|
| 77 | > 'text' => $next_text,
|
|---|
| 78 | > 'active' => false,
|
|---|
| 79 | > );
|
|---|
| 80 | > endif;
|
|---|
| 81 | > // If we just want the data without the HTML, then we don't need to
|
|---|
| 82 | > // process the HTML here.
|
|---|
| 83 | > if ( $args['type'] != 'array_raw' ) :
|
|---|
| 84 | > foreach ( $page_link_data as $page_link ) :
|
|---|
| 85 | > switch( $page_link['type'] ) {
|
|---|
| 86 | > case 'prev':
|
|---|
| 87 | > $page_links[] = '<a class="prev page-numbers" href="' . $page_link['text'] . '">' . $prev_text . '</a>';
|
|---|
| 88 | > break;
|
|---|
| 89 | > case 'next':
|
|---|
| 90 | > $page_links[] = '<a class="next page-numbers" href="' . $page_link['text'] . '">' . $next_text . '</a>';
|
|---|
| 91 | > break;
|
|---|
| 92 | > case 'dots':
|
|---|
| 93 | > $page_links[] = '<span class="page-numbers dots">' . $page_link['text'] . '</span>';
|
|---|
| 94 | > break;
|
|---|
| 95 | > case 'page':
|
|---|
| 96 | > if ( ! $args['link_current'] && $page_link['active'] ) {
|
|---|
| 97 | > $page_links[] = "<span class='page-numbers current'>" . $args['before_page_number'] . $page_link['text'] . $args['after_page_number'] . "</span>";
|
|---|
| 98 | > } else {
|
|---|
| 99 | > $page_links[] = "<a class='" . ($page_link['active'] ? 'current ' : null) . "page-numbers' href='" . $page_link['link'] . "'>" . $args['before_page_number'] . $page_link['text'] . $args['after_page_number'] . "</a>";
|
|---|
| 100 | > }
|
|---|
| 101 | > break;
|
|---|
| 102 | > }
|
|---|
| 103 | > endforeach;
|
|---|
| 104 | 2693a2737,2739
|
|---|
| 105 | > case 'array_raw' :
|
|---|
| 106 | > return $page_link_data;
|
|---|
| 107 | >
|
|---|