|
1
|
|
|
<?php |
|
2
|
|
|
/** |
|
3
|
|
|
* Carbon Pagination - posts pagination class. |
|
4
|
|
|
* Provides the pagination for non-singular post loops (index, search, archive). |
|
5
|
|
|
* |
|
6
|
|
|
* @uses Carbon_Pagination_HTML |
|
7
|
|
|
*/ |
|
8
|
|
|
class Carbon_Pagination_Posts extends Carbon_Pagination_HTML { |
|
9
|
|
|
|
|
10
|
|
|
/** |
|
11
|
|
|
* Constructor. |
|
12
|
|
|
* Creates and configures a new pagination with the provided settings. |
|
13
|
|
|
* |
|
14
|
|
|
* @param array $args Configuration options to modify the pagination settings. |
|
15
|
|
|
*/ |
|
16
|
6 |
|
public function __construct( $args = array() ) { |
|
17
|
6 |
|
global $wp_query; |
|
18
|
|
|
|
|
19
|
|
|
// specify the default args for the Posts pagination |
|
20
|
6 |
|
$this->default_args = array( |
|
21
|
|
|
// get the total pages from the query |
|
22
|
6 |
|
'total_pages' => max( $wp_query->max_num_pages, 1 ), |
|
23
|
|
|
|
|
24
|
|
|
// get the current page from the query |
|
25
|
6 |
|
'current_page' => max( get_query_var( 'paged' ), 1 ), |
|
26
|
|
|
|
|
27
|
|
|
// modify the text of the previous page link |
|
28
|
6 |
|
'prev_html' => '<a href="{URL}" class="paging-prev">' . esc_html__( '« Previous Entries', 'crb' ) . '</a>', |
|
29
|
|
|
|
|
30
|
|
|
// modify the text of the next page link |
|
31
|
6 |
|
'next_html' => '<a href="{URL}" class="paging-next">' . esc_html__( 'Next Entries »', 'crb' ) . '</a>', |
|
32
|
|
|
); |
|
33
|
|
|
|
|
34
|
6 |
|
parent::__construct( $args ); |
|
35
|
6 |
|
} |
|
36
|
|
|
|
|
37
|
|
|
/** |
|
38
|
|
|
* Get the URL to a certain page. |
|
39
|
|
|
* |
|
40
|
|
|
* @param int $page_number The page number. |
|
41
|
|
|
* @param string $old_url Optional. The URL to add the page number to. |
|
42
|
|
|
* @return string $url The URL to the page number. |
|
43
|
|
|
*/ |
|
44
|
4 |
|
public function get_page_url( $page_number, $old_url = '' ) { |
|
45
|
4 |
|
$pages = $this->get_pages(); |
|
46
|
4 |
|
$page = isset( $pages[ $page_number ] ) ? $pages[ $page_number ] : 0; |
|
47
|
4 |
|
return get_pagenum_link( $page ); |
|
48
|
|
|
} |
|
49
|
|
|
|
|
50
|
|
|
} |