Solución para la paginación manual en WordPress

  • Autor Autor marv3x
  • Fecha de inicio Fecha de inicio

marv3x

1
Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
Suscripción a IA
Hola, ¿Qué tal Betas?
Les cuento, en el nuevo tema de wordpress que instalé ya viene integrada la paginación, sin embargo he notado que tiene un error. El plugin funciona perfectamente en el index, pero a la hora de las páginas de categorías muestra las URL así:

misitio.com/category/accionpage/2/
Como ven muestra la categoría pegada a lo de página cuando debería estar separado por un slash (/).

He intentado hacer varias cosas con el código pero no logro nada. Les dejo el código para ver si me pueden ayudar a encontrar una solución, en verdad se los agradecería mucho, tengo rato peleando con ese problema:
Insertar CODE, HTML o PHP:
// Numeric Page Navi (built into the theme by default)
function plus62_pagenavi(){
	global $wp_query, $theme_options;
	$show_number = 2;
	$total = $wp_query->max_num_pages;
	/*if ( is_home() ){
		$posts_per_page = get_option('posts_per_page');
		$total_posts = $wp_query->found_posts;
		$posts_count_home = ( $theme_options['lightly_homepage_recent_posts'] ) ? $theme_options['lightly_homepage_recent_posts'] : $posts_per_page;
		
		if ( $posts_count_home < $posts_per_page )
			$total = ceil (( $total_posts + $posts_per_page - $posts_count_home ) / $posts_per_page );
	}*/
	if ( $total > 1 )  {
		if ( !$current_page = get_query_var('paged') )
			$current_page = 1;
		
		if ( !get_option('permalink_structure' ) ){
			$format = '&paged=%#%';
			if ( is_home() ) $format = '?paged=%#%';
		}else
			$format = 'page/%#%/';
		
		if ( is_search() ){
			$format = '&paged=%#%';
		}

		echo '<nav class="page-navigation">';
		$paginate =  paginate_links(array(
			'base' => get_pagenum_link(1) . '%_%',
			'format' => $format,
			'current' => $current_page,
			'total' => $total,
			'show_all' => true,
			'type' => 'array',
			'prev_text' => '&larr;',
			'next_text' => '&rarr;',
		));
		$fi = 0;
		$prev = '';
		$first = '';
		$left_dot = '';
		if ( strpos( $paginate[0], 'prev' ) !== false ){
			$fi = 1;
			$prev = '<li>' . $paginate[0] . '</li>';
			if ( ($current_page - $show_number ) > 1 ){
				$fi = $current_page - $show_number;
				$first = '<li>' . preg_replace('/>[^>]*[^<]</', '>First<', $paginate[1]) . '</li>';
				$left_dot = '<li><span>...</span></li>';
			}
		}
		$la = count($paginate) - 1;
		$next = '';
		$last = '';
		$right_dot = '';
		if ( strpos( $paginate[count($paginate) - 1], 'next' ) !== false ){
			$la = count($paginate) - 2;
			$next = '<li>' . $paginate[count($paginate) - 1] . '</li>';
			if ( ($current_page + $show_number ) < $total ){
				$la = $current_page + $show_number;
				$last = '<li>' . preg_replace('/>[^>]*[^<]</', '>Last<', $paginate[count($paginate) - 2]) . '</li>';
				$right_dot = '<li><span>...</span></li>';
			}
		}
		
		echo '<span class="page-of">'. __('Page', 'plus62') . ' ' . $current_page . __(' of ', 'plus62') . $total . '</span>';
		echo '<ul class="page_navi clearfix">';
		echo $first . $left_dot;
		echo $prev;
		for ( $i = $fi; $i <= $la; $i++ ){
			echo '<li>' . $paginate[$i] .'</li>';
		}
		echo $right_dot . $last;
		echo $next;
		echo '</ul>';
		echo '</nav>';
	}else{
		echo '<nav class="page-navigation">';
		echo '<span class="page-of">'. __('Page 1 of 1', 'plus62') . '</span>';
		echo '</nav>';
	}
}

Muchas gracias de antemano compañeros.
Un saludo.
 
Creo que el plugin deberia estar bien, mal que mal funciona perfecto en millones de sitios.

Lo que debe estar mal es tu theme, por lo tanto es imprescindible que lo subas a algún lado para probarlo.