29
29
function wp_pagenavi ($ before = '' , $ after = '' ) {
30
30
global $ wp_query ;
31
31
32
- $ pagenavi_options = PageNavi_Core::$ options ->get ();
32
+ $ options = PageNavi_Core::$ options ->get ();
33
33
34
34
$ posts_per_page = intval (get_query_var ('posts_per_page ' ));
35
35
$ paged = intval (get_query_var ('paged ' ));
@@ -38,15 +38,15 @@ function wp_pagenavi($before = '', $after = '') {
38
38
$ numposts = $ wp_query ->found_posts ;
39
39
$ max_page = $ wp_query ->max_num_pages ;
40
40
41
- if ( $ max_page <= 1 && !intval ($ pagenavi_options ['always_show ' ]) )
41
+ if ( $ max_page <= 1 && !intval ($ options ['always_show ' ]) )
42
42
return ;
43
43
44
44
if ( empty ($ paged ) )
45
45
$ paged = 1 ;
46
46
47
- $ pages_to_show = intval ($ pagenavi_options ['num_pages ' ]);
48
- $ larger_page_to_show = intval ($ pagenavi_options ['num_larger_page_numbers ' ]);
49
- $ larger_page_multiple = intval ($ pagenavi_options ['larger_page_numbers_multiple ' ]);
47
+ $ pages_to_show = intval ($ options ['num_pages ' ]);
48
+ $ larger_page_to_show = intval ($ options ['num_larger_page_numbers ' ]);
49
+ $ larger_page_multiple = intval ($ options ['larger_page_numbers_multiple ' ]);
50
50
$ pages_to_show_minus_1 = $ pages_to_show - 1 ;
51
51
$ half_page_start = floor ($ pages_to_show_minus_1 /2 );
52
52
$ half_page_end = ceil ($ pages_to_show_minus_1 /2 );
@@ -68,23 +68,23 @@ function wp_pagenavi($before = '', $after = '') {
68
68
if ( $ start_page <= 0 )
69
69
$ start_page = 1 ;
70
70
71
- $ pages_text = str_replace ("%CURRENT_PAGE% " , number_format_i18n ($ paged ), $ pagenavi_options ['pages_text ' ]);
72
- $ pages_text = str_replace ("%TOTAL_PAGES% " , number_format_i18n ($ max_page ), $ pages_text );
73
-
74
- $ out = '' ;
75
- $ out .= $ before .'<div class="wp-pagenavi"> ' ."\n" ;
76
- switch ( intval ($ pagenavi_options ['style ' ]) ) {
71
+ $ out = "$ before<div class='wp-pagenavi'> \n" ;
72
+ switch ( intval ($ options ['style ' ]) ) {
77
73
// Normal
78
74
case 1 :
79
- if ( !empty ($ pages_text ) )
80
- $ out .= '<span class="pages"> ' .$ pages_text .'</span> ' ;
75
+ if ( !empty ($ options ['pages_text ' ]) ) {
76
+ $ pages_text = str_replace (
77
+ array ("%CURRENT_PAGE% " , "%TOTAL_PAGES% " ),
78
+ array (number_format_i18n ($ paged ), number_format_i18n ($ max_page )),
79
+ $ options ['pages_text ' ]);
80
+ $ out .= "<span class='pages'> $ pages_text</span> " ;
81
+ }
81
82
82
83
if ( $ start_page >= 2 && $ pages_to_show < $ max_page ) {
83
- $ first_page_text = str_replace ("%TOTAL_PAGES% " , number_format_i18n ($ max_page ), $ pagenavi_options ['first_text ' ]);
84
- $ out .= '<a href=" ' .esc_url (get_pagenum_link ()).'" class="first"> ' .$ first_page_text .'</a> ' ;
84
+ $ out .= _wp_pagenavi_single (1 , 'first ' , $ options ['first_text ' ], '%TOTAL_PAGES% ' );
85
85
86
- if ( !empty ($ pagenavi_options ['dotleft_text ' ]) )
87
- $ out .= ' <span class=" extend"> ' . $ pagenavi_options ['dotleft_text ' ]. ' </span> ' ;
86
+ if ( !empty ($ options ['dotleft_text ' ]) )
87
+ $ out .= " <span class=' extend left'> { $ options ['dotleft_text ' ]} </span> " ;
88
88
}
89
89
90
90
$ larger_pages_array = array ();
@@ -95,39 +95,36 @@ function wp_pagenavi($before = '', $after = '') {
95
95
$ larger_page_start = 0 ;
96
96
foreach ( $ larger_pages_array as $ larger_page ) {
97
97
if ( $ larger_page < $ start_page && $ larger_page_start < $ larger_page_to_show ) {
98
- $ page_text = str_replace ("%PAGE_NUMBER% " , number_format_i18n ($ larger_page ), $ pagenavi_options ['page_text ' ]);
99
- $ out .= '<a href=" ' .esc_url (get_pagenum_link ($ larger_page )).'" class="page"> ' .$ page_text .'</a> ' ;
98
+ $ out .= _wp_pagenavi_single ($ larger_page , 'smaller page ' , $ options ['page_text ' ]);
100
99
$ larger_page_start ++;
101
100
}
102
101
}
103
- $ out .= get_previous_posts_link ($ pagenavi_options ['prev_text ' ]);
102
+
103
+ $ out .= get_previous_posts_link ($ options ['prev_text ' ]);
104
104
105
105
for ( $ i = $ start_page ; $ i <= $ end_page ; $ i ++) {
106
106
if ( $ i == $ paged ) {
107
- $ current_page_text = str_replace (" %PAGE_NUMBER% " , number_format_i18n ($ i ), $ pagenavi_options ['current_text ' ]);
108
- $ out .= ' <span class=" current"> ' . $ current_page_text. ' </span> ' ;
107
+ $ current_page_text = str_replace (' %PAGE_NUMBER% ' , number_format_i18n ($ i ), $ options ['current_text ' ]);
108
+ $ out .= " <span class=' current'> $ current_page_text</span> " ;
109
109
} else {
110
- $ page_text = str_replace ("%PAGE_NUMBER% " , number_format_i18n ($ i ), $ pagenavi_options ['page_text ' ]);
111
- $ out .= '<a href=" ' .esc_url (get_pagenum_link ($ i )).'" class="page"> ' .$ page_text .'</a> ' ;
110
+ $ out .= _wp_pagenavi_single ($ i , 'page ' , $ options ['page_text ' ]);
112
111
}
113
112
}
114
- $ out .= get_next_posts_link ($ pagenavi_options ['next_text ' ], $ max_page );
113
+ $ out .= get_next_posts_link ($ options ['next_text ' ], $ max_page );
115
114
116
115
$ larger_page_end = 0 ;
117
116
foreach ( $ larger_pages_array as $ larger_page ) {
118
117
if ( $ larger_page > $ end_page && $ larger_page_end < $ larger_page_to_show ) {
119
- $ page_text = str_replace ("%PAGE_NUMBER% " , number_format_i18n ($ larger_page ), $ pagenavi_options ['page_text ' ]);
120
- $ out .= '<a href=" ' .esc_url (get_pagenum_link ($ larger_page )).'" class="page"> ' .$ page_text .'</a> ' ;
118
+ $ out .= _wp_pagenavi_single ($ larger_page , 'larger page ' , $ options ['page_text ' ]);
121
119
$ larger_page_end ++;
122
120
}
123
121
}
124
122
125
123
if ( $ end_page < $ max_page ) {
126
- if ( !empty ($ pagenavi_options ['dotright_text ' ]) )
127
- $ out .= ' <span class=" extend"> ' . $ pagenavi_options ['dotright_text ' ]. ' </span> ' ;
124
+ if ( !empty ($ options ['dotright_text ' ]) )
125
+ $ out .= " <span class=' extend right'> { $ options ['dotright_text ' ]} </span> " ;
128
126
129
- $ last_page_text = str_replace ("%TOTAL_PAGES% " , number_format_i18n ($ max_page ), $ pagenavi_options ['last_text ' ]);
130
- $ out .= '<a href=" ' .esc_url (get_pagenum_link ($ max_page )).'" class="last"> ' .$ last_page_text .'</a> ' ;
127
+ $ out .= _wp_pagenavi_single ($ max_page , 'last ' , $ options ['last_text ' ], '%TOTAL_PAGES% ' );
131
128
}
132
129
break ;
133
130
@@ -142,10 +139,10 @@ function wp_pagenavi($before = '', $after = '') {
142
139
$ page_num = 0 ;
143
140
144
141
if ( $ i == $ paged ) {
145
- $ current_page_text = str_replace (" %PAGE_NUMBER% " , number_format_i18n ($ i ), $ pagenavi_options ['current_text ' ]);
142
+ $ current_page_text = str_replace (' %PAGE_NUMBER% ' , number_format_i18n ($ i ), $ options ['current_text ' ]);
146
143
$ out .= '<option value=" ' .esc_url (get_pagenum_link ($ page_num )).'" selected="selected" class="current"> ' .$ current_page_text ."</option> \n" ;
147
144
} else {
148
- $ page_text = str_replace (" %PAGE_NUMBER% " , number_format_i18n ($ i ), $ pagenavi_options ['page_text ' ]);
145
+ $ page_text = str_replace (' %PAGE_NUMBER% ' , number_format_i18n ($ i ), $ options ['page_text ' ]);
149
146
$ out .= '<option value=" ' .esc_url (get_pagenum_link ($ page_num )).'"> ' .$ page_text ."</option> \n" ;
150
147
}
151
148
}
@@ -159,6 +156,12 @@ function wp_pagenavi($before = '', $after = '') {
159
156
echo apply_filters ('wp_pagenavi ' , $ out );
160
157
}
161
158
159
+ function _wp_pagenavi_single ($ page , $ class , $ raw_text , $ format = '%PAGE_NUMBER% ' ) {
160
+ $ text = str_replace ($ format , number_format_i18n ($ page ), $ raw_text );
161
+
162
+ return "<a href=' " . esc_url (get_pagenum_link ($ page )) . "' class=' $ class'> $ text</a> " ;
163
+ }
164
+
162
165
163
166
### Function: Page Navigation: Drop Down Menu (Deprecated)
164
167
function wp_pagenavi_dropdown () {
0 commit comments