WP-Paginate - Version 2.0.5

Version Description

  • Added option to add trailing slash to pagination links when needed
Download this release

Release Info

Developer AlanP57
Plugin Icon 128x128 WP-Paginate
Version 2.0.5
Comparing to
See all releases

Code changes from version 2.0.4 to 2.0.5

I18n/readme.txt CHANGED
File without changes
I18n/wp-paginate.mo CHANGED
File without changes
I18n/wp-paginate.pot CHANGED
File without changes
css/wp-paginate-admin.css CHANGED
File without changes
css/wp-paginate-rtl.css CHANGED
File without changes
css/wp-paginate.css CHANGED
File without changes
images/MBP.png CHANGED
File without changes
images/MG_logo.png CHANGED
File without changes
images/MLPP-card-red.png CHANGED
File without changes
images/blue-cta-buttons.jpg CHANGED
File without changes
images/buy-now-btn.png CHANGED
File without changes
images/default.jpg CHANGED
File without changes
images/max-foundry.png CHANGED
File without changes
images/modern-grey-buttons.jpg CHANGED
File without changes
images/neon-pink-buttons.png CHANGED
File without changes
images/screenshot-2.png CHANGED
File without changes
images/wp-paginate-logo.png CHANGED
File without changes
images/wpp-pro-logo-2.png CHANGED
File without changes
images/wppp-buttons.png CHANGED
File without changes
images/wppp-customizer.png CHANGED
File without changes
js/wp-paginate.js CHANGED
File without changes
lib/codemirror.css CHANGED
File without changes
lib/codemirror.js CHANGED
File without changes
license.txt CHANGED
File without changes
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
Contributors: maxfoundry, emartin24, AlanP57
3
Tags: paginate, pagination, navigation, page, wp-paginate, comments, rtl, seo, usability
4
Requires at least: 2.6.0 (2.7.0 for comments pagination)
5
- Tested up to: 4.9.5
6
- Stable tag: 2.0.4
7
License: GPLv2 or later
8
License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
@@ -159,6 +159,9 @@ Example (also applies to `wp_paginate_comments()`):
159
When calling `wp_paginate_comments()`, WP-Paginate adds an extra class to the `ol` element, `wp-paginate-comments`.
160
161
== Changelog ==
162
= 2.0.4 =
163
* Removed trailing slash from pagination links
164
2
Contributors: maxfoundry, emartin24, AlanP57
3
Tags: paginate, pagination, navigation, page, wp-paginate, comments, rtl, seo, usability
4
Requires at least: 2.6.0 (2.7.0 for comments pagination)
5
+ Tested up to: 4.9.8
6
+ Stable tag: 2.0.5
7
License: GPLv2 or later
8
License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
159
When calling `wp_paginate_comments()`, WP-Paginate adds an extra class to the `ol` element, `wp-paginate-comments`.
160
161
== Changelog ==
162
+ = 2.0.5 =
163
+ * Added option to add trailing slash to pagination links when needed
164
+
165
= 2.0.4 =
166
* Removed trailing slash from pagination links
167
screenshot-1.png CHANGED
File without changes
screenshot-2.png CHANGED
File without changes
wp-paginate.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: WP-Paginate
4
Plugin URI: https://wordpress.org/plugins/wp-paginate/
5
Description: A simple and flexible pagination plugin for WordPress posts and comments.
6
- Version: 2.0.4
7
Author: Max Foundry
8
Author URI: http://maxfoundry.com
9
Text Domain: 'wp-paginate'
@@ -60,7 +60,7 @@ if (!class_exists('WPPaginate')) {
60
/**
61
* @var string The plugin version
62
*/
63
- public $version = '2.0.4';
64
65
/**
66
* @var string The options string name for this plugin
@@ -93,7 +93,7 @@ if (!class_exists('WPPaginate')) {
93
public $fonts = array();
94
95
public $presets = array();
96
-
97
/**
98
* Constructor
99
*/
@@ -308,7 +308,12 @@ if (!class_exists('WPPaginate')) {
308
$after_option = $this->options['after'];
309
else
310
$after_option = '</div>';
311
-
312
$before = stripslashes(html_entity_decode($before_option));
313
$after = stripslashes(html_entity_decode($after_option));
314
@@ -334,6 +339,11 @@ if (!class_exists('WPPaginate')) {
334
$nextlink = ($this->type === 'posts')
335
? rtrim(esc_url(get_pagenum_link($page + 1)), '/')
336
: get_comments_pagenum_link($page + 1);
337
338
$output = stripslashes(wp_kses_decode_entities($before));
339
if ($pages > 1) {
@@ -349,6 +359,9 @@ if (!class_exists('WPPaginate')) {
349
$ellipsis = "<li><span class='gap'>...</span></li>";
350
351
if ($page > 1 && !empty($previouspage)) {
352
$output .= sprintf('<li><a href="%s" class="prev">%s</a></li>', $prevlink, stripslashes($previouspage));
353
}
354
@@ -360,32 +373,35 @@ if (!class_exists('WPPaginate')) {
360
361
if ($left_gap && !$right_gap) {
362
$output .= sprintf('%s%s%s',
363
- $this->paginate_loop(1, $anchor),
364
$ellipsis,
365
- $this->paginate_loop($block_min, $pages, $page)
366
);
367
}
368
else if ($left_gap && $right_gap) {
369
$output .= sprintf('%s%s%s%s%s',
370
- $this->paginate_loop(1, $anchor),
371
$ellipsis,
372
- $this->paginate_loop($block_min, $block_high, $page),
373
$ellipsis,
374
- $this->paginate_loop(($pages - $anchor + 1), $pages)
375
);
376
}
377
else if ($right_gap && !$left_gap) {
378
$output .= sprintf('%s%s%s',
379
- $this->paginate_loop(1, $block_high, $page),
380
$ellipsis,
381
- $this->paginate_loop(($pages - $anchor + 1), $pages)
382
);
383
}
384
else {
385
- $output .= $this->paginate_loop(1, $pages, $page);
386
}
387
388
if ($page < $pages && !empty($nextpage)) {
389
$output .= sprintf('<li><a href="%s" class="next">%s</a></li>', $nextlink, stripslashes($nextpage));
390
}
391
$output .= "</ol>";
@@ -400,13 +416,16 @@ if (!class_exists('WPPaginate')) {
400
/**
401
* Helper function for pagination which builds the page links.
402
*/
403
- function paginate_loop($start, $max, $page = 0) {
404
$output = "";
405
for ($i = $start; $i <= $max; $i++) {
406
$p = ($this->type === 'posts') ? rtrim(esc_url(get_pagenum_link($i)), '/') : get_comments_pagenum_link($i);
407
- $output .= ($page == intval($i))
408
- ? "<li><span class='page current'>$i</span></li>"
409
- : "<li><a href='$p' title='$i' class='page'>$i</a></li>";
410
}
411
return $output;
412
}
@@ -448,6 +467,7 @@ if (!class_exists('WPPaginate')) {
448
'nextpage' => '&raquo;',
449
'previouspage' => '&laquo;',
450
'css' => true,
451
'before' => '<div class="navigation">',
452
'after' => '</div>',
453
'empty' => true,
@@ -518,6 +538,7 @@ if (!class_exists('WPPaginate')) {
518
$this->options['after'] = esc_attr($_POST['after']);
519
$this->options['empty'] = (isset($_POST['empty']) && $_POST['empty'] === 'on') ? true : false;
520
$this->options['css'] = (isset($_POST['css']) && $_POST['css'] === 'on') ? true : false;
521
$this->options['range'] = intval($_POST['range']);
522
$this->options['anchor'] = intval($_POST['anchor']);
523
$this->options['gap'] = intval($_POST['gap']);
@@ -771,6 +792,16 @@ if (!class_exists('WPPaginate')) {
771
<td><label for="css">
772
<input type="checkbox" id="css" name="css" <?php echo ($this->options['css'] === true) ? "checked='checked'" : ""; ?>/> <?php printf(__('Include the default stylesheet wp-paginate.css? WP-Paginate will first look for <code>wp-paginate.css</code> in your theme directory (<code>themes/%s</code>).', 'wp-paginate'), get_template()); ?></label></td>
773
</tr>
774
<tr valign="top">
775
<th scope="row"><?php _e('Page Range:', 'wp-paginate'); ?></th>
776
<td>
3
Plugin Name: WP-Paginate
4
Plugin URI: https://wordpress.org/plugins/wp-paginate/
5
Description: A simple and flexible pagination plugin for WordPress posts and comments.
6
+ Version: 2.0.5
7
Author: Max Foundry
8
Author URI: http://maxfoundry.com
9
Text Domain: 'wp-paginate'
60
/**
61
* @var string The plugin version
62
*/
63
+ public $version = '2.0.5';
64
65
/**
66
* @var string The options string name for this plugin
93
public $fonts = array();
94
95
public $presets = array();
96
+
97
/**
98
* Constructor
99
*/
308
$after_option = $this->options['after'];
309
else
310
$after_option = '</div>';
311
+
312
+ if(isset($this->options['slash']))
313
+ $slash_option = $this->options['slash'];
314
+ else
315
+ $slash_option = false;
316
+
317
$before = stripslashes(html_entity_decode($before_option));
318
$after = stripslashes(html_entity_decode($after_option));
319
339
$nextlink = ($this->type === 'posts')
340
? rtrim(esc_url(get_pagenum_link($page + 1)), '/')
341
: get_comments_pagenum_link($page + 1);
342
+
343
+ if($slash_option == true) {
344
+ $prevlink . '/';
345
+ $nextlink . '/';
346
+ }
347
348
$output = stripslashes(wp_kses_decode_entities($before));
349
if ($pages > 1) {
359
$ellipsis = "<li><span class='gap'>...</span></li>";
360
361
if ($page > 1 && !empty($previouspage)) {
362
+ if($slash_option)
363
+ $output .= sprintf('<li><a href="%s/" class="prev">%s</a></li>', $prevlink, stripslashes($previouspage));
364
+ else
365
$output .= sprintf('<li><a href="%s" class="prev">%s</a></li>', $prevlink, stripslashes($previouspage));
366
}
367
373
374
if ($left_gap && !$right_gap) {
375
$output .= sprintf('%s%s%s',
376
+ $this->paginate_loop(1, $anchor, 0, $slash_option),
377
$ellipsis,
378
+ $this->paginate_loop($block_min, $pages, $page, $slash_option)
379
);
380
}
381
else if ($left_gap && $right_gap) {
382
$output .= sprintf('%s%s%s%s%s',
383
+ $this->paginate_loop(1, $anchor, 0, $slash_option),
384
$ellipsis,
385
+ $this->paginate_loop($block_min, $block_high, $page, $slash_option),
386
$ellipsis,
387
+ $this->paginate_loop(($pages - $anchor + 1), $pages, 0, $slash_option)
388
);
389
}
390
else if ($right_gap && !$left_gap) {
391
$output .= sprintf('%s%s%s',
392
+ $this->paginate_loop(1, $block_high, $page, $slash_option),
393
$ellipsis,
394
+ $this->paginate_loop(($pages - $anchor + 1), $pages, 0, $slash_option)
395
);
396
}
397
else {
398
+ $output .= $this->paginate_loop(1, $pages, $page, $slash_option);
399
}
400
401
if ($page < $pages && !empty($nextpage)) {
402
+ if($slash_option)
403
+ $output .= sprintf('<li><a href="%s/" class="next">%s</a></li>', $nextlink, stripslashes($nextpage));
404
+ else
405
$output .= sprintf('<li><a href="%s" class="next">%s</a></li>', $nextlink, stripslashes($nextpage));
406
}
407
$output .= "</ol>";
416
/**
417
* Helper function for pagination which builds the page links.
418
*/
419
+ function paginate_loop($start, $max, $page = 0, $slash = false) {
420
$output = "";
421
for ($i = $start; $i <= $max; $i++) {
422
+ if($slash)
423
+ $p = ($this->type === 'posts') ? esc_url(get_pagenum_link($i)) : get_comments_pagenum_link($i);
424
+ else
425
$p = ($this->type === 'posts') ? rtrim(esc_url(get_pagenum_link($i)), '/') : get_comments_pagenum_link($i);
426
+ $output .= ($page == intval($i))
427
+ ? "<li><span class='page current'>$i</span></li>"
428
+ : "<li><a href='$p' title='$i' class='page'>$i</a></li>";
429
}
430
return $output;
431
}
467
'nextpage' => '&raquo;',
468
'previouspage' => '&laquo;',
469
'css' => true,
470
+ 'slash' => false,
471
'before' => '<div class="navigation">',
472
'after' => '</div>',
473
'empty' => true,
538
$this->options['after'] = esc_attr($_POST['after']);
539
$this->options['empty'] = (isset($_POST['empty']) && $_POST['empty'] === 'on') ? true : false;
540
$this->options['css'] = (isset($_POST['css']) && $_POST['css'] === 'on') ? true : false;
541
+ $this->options['slash'] = (isset($_POST['slash']) && $_POST['slash'] === 'on') ? true : false;
542
$this->options['range'] = intval($_POST['range']);
543
$this->options['anchor'] = intval($_POST['anchor']);
544
$this->options['gap'] = intval($_POST['gap']);
792
<td><label for="css">
793
<input type="checkbox" id="css" name="css" <?php echo ($this->options['css'] === true) ? "checked='checked'" : ""; ?>/> <?php printf(__('Include the default stylesheet wp-paginate.css? WP-Paginate will first look for <code>wp-paginate.css</code> in your theme directory (<code>themes/%s</code>).', 'wp-paginate'), get_template()); ?></label></td>
794
</tr>
795
+ <?php
796
+ if(!isset($this->options['slash']))
797
+ $this->options['slash'] = false;
798
+ ?>
799
+ <tr valign="top">
800
+ <th scope="row"><?php _e('Add trailing slash:', 'wp-paginate'); ?></th>
801
+ <td><label for="slash">
802
+ <input type="checkbox" id="css" name="slash" <?php echo ($this->options['slash'] === true) ? "checked='checked'" : ""; ?>/> <?php printf(__('Adds a trailing slash to the end of pagination links.', 'wp-paginate'), get_template()); ?></label></td>
803
+ </tr>
804
+
805
<tr valign="top">
806
<th scope="row"><?php _e('Page Range:', 'wp-paginate'); ?></th>
807
<td>