| 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 | > |
|---|