Solução para a paginação manual no WordPress

  • Autor Autor marv3x
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
marv3x

marv3x

1
Épsilon
Verificación en dos pasos activada
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:
Inserir CODE, HTML ou 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.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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.
 
Voltar
Topo