Skip to content

Instantly share code, notes, and snippets.

@tcelestino
Created June 26, 2012 12:35
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tcelestino/2995571 to your computer and use it in GitHub Desktop.
Save tcelestino/2995571 to your computer and use it in GitHub Desktop.
pagination wordpress without plugin
<?php
function paglink($first=1,$last=1,$middle=10,$baseURL=false,$wp_query=false ) {
if(!$baseURL) $baseURL= get_bloginfo('url');
if(!$wp_query)global $wp_query;
$page = $wp_query->query_vars["paged"];
if ( !$page ) $page = 1;
$qs = $_SERVER["QUERY_STRING"] ? "?".$_SERVER["QUERY_STRING"] : "";
if ( $wp_query->found_posts > $wp_query->query_vars["posts_per_page"] ) {
echo '<div class="box-paginacao">';
if ( $page > 1 ) {
echo '<a href="'.$baseURL.(($page==2)?('page/'.($page-1).'/'):'').$qs.'" class="link-anterior">anterior</a>';
}
else {
echo '<div class="anterior-sem-link">anterior</div>';
}
$dots=false;
echo '<div class="paginas">';
for ( $i=1; $i <= $wp_query->max_num_pages; $i++ ){ // Loop through pages
if($i<=$first || $i<=$middle && $page<$middle || $i>$wp_query->max_num_pages-$last || $i>$wp_query->max_num_pages-$middle && $page>$wp_query->max_num_pages-$middle+1 || $i>$page-ceil($middle/2) && $i<=$page+floor($middle/2)){
if ( $i == $page ) { // Current page or linked page?
echo '<strong>'.$i.'</strong>';
} else {
echo '<a href="'.$baseURL.(($i!=1)?('page/'.$i.'/'):'').$qs.'">'.$i.'</a>';
}
$dots=false;
}elseif(!$dots){
echo '<span>...</span>';
$dots=true;
}
}
echo '</div>';
if ( $page < $wp_query->max_num_pages ) { // Next link?
echo '<a href="'.$baseURL.'page/'.($page+1).'/'.$qs.'" class="link-proximo">próximo</a>';
}
else {
echo '<div class="proximo-sem-link">próximo</div>';
}
echo '</div>';
}
}
@tcelestino
Copy link
Author

Como usar esse script

Adicione o script no seu arquivo functions.php

No arquivo que queria aparecer a paginação, adicione o código abaixo após fechar a função have_post();

<?php paglink(1, 1, 10, get_bloginfo('wpurl').'/seu_custom_post_type_categoria_ou_taxonomy/', $wp_query); ?>

Não esqueça de alterar o seguinte dados do código acima: "seu_custom_post_type_categoria_ou_taxonomy"

Observação

Esse script foi encontrado em algum lugar na Internet após uma pesquisa sobre tutoriais de como fazer uma paginação sem plugin, não tenho a autoria do código, apenas publiquei por ser uma solução muito util em caso de problemas com plugins. Caso conheça o proprietário dessa função, favor entrar em contato.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment