WordPress

Inscreva-se em nosso canal no Youtube Daviwp

Como colocar paginação no WordPress sem utilizar plugin

10/12/2013 WordPress (8) comentários

Olá Pessoal recebi alguns emails solicitando uma solução de como paginar seu site WordPress sem utilizar plugin, é bem simples, vou direto ao ponto, caso tenha alguma duvida mande email.
Vamos lá!

01 – Copie e cole esse código no seu arquivo functions.php não precisa ordem.

// Pagination
function wp_pagination($pages = '', $range = 9)
{  
    global $wp_query, $wp_rewrite;  
    $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;  
    $pagination = array(  
        'base' => @add_query_arg('page','%#%'),  
        'format' => '',  
        'total' => $wp_query->max_num_pages,  
        'current' => $current,  
        'show_all' => true,  
        'type' => 'plain'  
    );  
    if ( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );  
    if ( !empty($wp_query->query_vars['s']) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) );  
    echo '<div class="wp_pagination">'.paginate_links( $pagination ).'</div>';
}

02 – Segundo cole esse código onde deseja fazer a paginação por exemplo category.php, search.php, tags.php, archive.php fazendo isso sua paginação vai funcionar basta aplicar seu estilo e é isso!

<?php wp_pagination();?>

É bem simples mesmo! Desta forma vai funcionar sem erro, menos um plugin para quem utiliza.
Obrigado galera! curte quem gostou!

daviwp

Meu nome é Davi Alves desenvolvedor web e WordPress developer, residente de Belo Horizonte, sou um dos organizadores do WordCamp evento oficial do WordPress em BH e co-fundador do Belo Horizonte WordPress Group juntamente com o fundador Mateus Neves, sou articulista de alguns sites, e fundador do daviwp.com, aqui compartilho conhecimentos para toda galera aficionada em WordPress.

  • daviwp

    Olá Walter,
    Em vez de query post utilize o loop desse post, utilize a paginação que esta tentando, só que nesse post que segue no link
    http://daviwp.com/criando-paginacao-na-page-blog-php-do-wordpres/

  • Wenderson Nicodemos Cardozo

    Tudo bom. Por algum motivo o meu ainda apresenta o erro 404.

    Estou usando na (category.php). E estou usando o loop que está no link ai.

    /**********************

    $wp_query = new WP_Query();
    query_posts( array( ‘post_type’ => ‘post’, ‘showposts’ => 4, ‘paged’=>$paged ));

    if(have_posts()):
    while ($wp_query -> have_posts()) : $wp_query -> the_post();

    $thumb_id = get_post_thumbnail_id();
    $thumb_url = wp_get_attachment_image_src($thumb_id,’thumbnail-size’, true);

    the_title();

    Postado por the_author(); the_date();

    Lorem

    the_excerpt();

    Veja mais

    endwhile;
    endif;
    wp_pagination();

    *********************/

    O que pode estar errado.

    • daviwp

      Olá Wenderson, nesse caso como você esta utilizando um template padrão em vez de utilizar wp Query utilize o if have_posts e o whle have_posts loop padrão, assim sua paginação vai funcionar perfeito. veja esses loop aqui mesmo no blog tem exemplos.

  • daviwp

    Obrigado Wenderson!

  • Pedro

    E ai Davi blz? cara eu sei que eh um post seu antigo, espero que me responda, estou utilizando na index, ele paginou direitinho mas quando clico em proximo ou no numero da pagina ele muda a url pra /?page=2 mas a listagem continua a mesma, o que sera?

    • daviwp

      Olá Pedro,

      tenta criar links permanentes, indo em configurações links personalizados.
      Mande o link também do seu site para ver o erro, pode mim chamar também no hangout que posso te ajudar.
      [email protected]

      Abraço.

  • daviwp

    Obrigado jose valeu pela dica!

  • daviwp

    Se estiver tendo problemas utilizando WP_Query aplica um reset query ai ele vai paginar normal.

    Abraço.