function p_CCW($before = '', $after = '', $prelabel = '', $nxtlabel = '', $pages_to_show = 5, $always_show = false) {
global $request, $posts_per_page, $wpdb, $paged;
if(empty($prelabel)) {
$prelabel = '<span>«</span>';
}
if(empty($nxtlabel)) {
$nxtlabel = '<span>»</span>';
}
$half_pages_to_show = round($pages_to_show/2);
if (!is_single()) {
if(!is_category()) {
preg_match('#FROM\s(.*)\sORDER BY#siU', $request, $matches);
} else {
preg_match('#FROM\s(.*)\sGROUP BY#siU', $request, $matches);
}
$fromwhere = $matches[1];
$numposts = $wpdb->get_var("SELECT COUNT(DISTINCT ID) FROM $fromwhere");
$max_page = ceil($numposts /$posts_per_page);
if(empty($paged)) {
$paged = 1;
}
if($max_page > 1 || $always_show) {
echo $before;
if ($paged >= ($pages_to_show-1)) {
//echo '<a href="'.get_pagenum_link().'">« '.__('Inicio','Theme').'</a> ... ';
}
echo '<li>';previous_posts_link($prelabel);echo '</li>';
for($i = $paged - $half_pages_to_show; $i <= $paged + $half_pages_to_show; $i++) {
if ($i >= 1 && $i <= $max_page) {
if($i == $paged) {
echo '<li class="active"> <span>'.$i.'<span class="sr-only">(current)</span></span> </li>';
} else {
echo '<li data-pagination-page="'.$i.'"> <a href="'.get_pagenum_link($i).'">'.$i.'</a> </li>';
}
}
}
echo '<li>';next_posts_link($nxtlabel, $max_page);echo '</li>';
if (($paged+$half_pages_to_show) < ($max_page)) {
//echo ' ... <a href="'.get_pagenum_link($max_page).'">'.__('Último','Theme').' »</a>';
}
echo $after;
}
}
}