Paginar posts en wordpress

Paginador hecho en php para wordpress, “muy importante” es necesario abrir el fichero index.php del template y añadir el siguiente código.

$contador=0;
$paginacion=3; // Numero de post por pagina
$mask=10; // Cantidad de paginas visibles 
 
if (!isset($_GET['pagina']) || $_GET['pagina']==0 )
           $pag=0;
             else{
             $pag=$_GET['pagina'];  
	$pag--;
              }
$desde=$pag*$paginacion;$hasta=$desde+$paginacion;

Añadirlo en la cabecera de la web

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
		<?php 
		$contador++;
if ($contador>=$desde && $contador<=$hasta)
			 get_template_part( 'content', get_post_format() );
 
 
		?>
			<!--Call the Loop-->
 
 
	<?php endwhile; ?>
 
            <?php
			$paginas=ceil($contador/$paginacion);
			$visual=$paginas-$mask;
			if ($visual>1){
			$visual_inicio=$visual/2;
			$visual_final=$visual_inicio+$visual;
 
			}
			else{
			$visual_inicio=0;	
			$visual_final=100000;
 
			}
			  echo "<a href='".$_SERVER['PHP_SELF']."?pagina=".$pag."'  class='pag_next_prev'>Anterior</a> ";
			for ($i=1;$i<=$paginas;$i++){
 
 
				if ($i-1>=$visual_inicio && $i-1<=$visual_final){
				if ($i-1==$pag)
			      echo "<a href='".$_SERVER['PHP_SELF']."?pagina=".$i."'  class='pag_select'>".$i."</a> ";
					else
				 echo "<a href='".$_SERVER['PHP_SELF']."?pagina=".$i."' class='pag'>".$i."</a> ";
 
				}
 
			} // Fin del For
				$next=$pag+2;
				if ($next<=$paginas){
 
			  echo "<a href='".$_SERVER['PHP_SELF']."?pagina=".$next."'  class='pag_next_prev'>Siguiente</a> ";  
				}
			?>	<?php endwhile; ?>

Añadirlo justamente a partir del if (have_posts()) de index.php

styles.css

.pag{
	display:block;
	padding:3px;
	margin-left:5px;
	width:15px;
	height:15px;
	border:#999 solid 1px;
	float:left;
 
}
 
.pag_select{
	display:block;
	padding:3px;
	margin-left:5px;
	width:15px;
	height:15px;
	border:#999 solid 1px;
	float:left;
	background-color:#CCC;
 
}
 
.pag_next_prev{
	display:block;
	padding:3px;
	margin-left:5px;
	width:60px;
	height:15px;
	border:#999 solid 1px;
	float:left;
 
 
}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*


cuatro + = 10

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

© chlinformatica 2011
CyberChimps