Paginação personalizada

Estou usando parte do modelo para mostrar os itens do portfólio. Não é um modelo de página apenas o arquivo portfolio.php e estou incluído com o get_template_part('portfolio'); para a página inicial.

Agora tudo está funcionando bem. Mas eu quero usar a paginação para esta seção. Aqui está o meu bloco de código;

  'portfolio', 'posts_per_page' => 3, 'post_status' => 'publish', 'paged' => $paged ); $wp_port_query = new WP_Query($port_args); if( have_posts() ) : while ( $wp_port_query->have_posts() ) : $wp_port_query->the_post(); ?> <li class="col-lg-4 col-sm-4 view item slug.' '; } endif; ?>">   <?php endwhile; endif; echo '"; wp_reset_query(); ?> 

Quando eu clico no botão de paginação mais antiga, ele está indo para ?paged=2 , mas não está funcionando, ele mostra as mesmas postagens novamente. Se eu usar o modelo de página e abrir o themename/page_id=82 do themename/page_id=82 diretamente, ele está funcionando. E a url parece assim ?page_id=82&paged=2 agora estou pensando que eu falto na identificação da página na seção. Como posso corrigir isso e funcioná-lo na seção de modelo da página inicial. Se não estiver funcionando, como posso adicionar o page_id em get_next_posts_link. Parece isso agora ?paged=2 e eu quero mudar isso assim ?page_id=82&paged=2 . O ID da página vem automaticamente da página. Como posso fazer isso?

Solutions Collecting From Web of "Paginação personalizada"

Acabei de modificar seu código um pouco para adicionar paginação …. Aqui você vai ….

Será seu loop personalizado de tipo de publicação ….

 < ?php if ( get_query_var('page') ) { $paged = get_query_var('page'); } else if ( get_query_var('paged') ) { $paged = get_query_var('paged'); } ?> < ?php $LoopPortfolio = new WP_Query(array( 'post_type' => 'portfolio', 'paged'=>$paged, 'posts_per_page' => '3' )); ?> < ?php if($LoopPortfolio->have_posts()) : while($LoopPortfolio->have_posts()) : $LoopPortfolio->the_post(); ?> 
  • < ?php the_post_thumbnail("portfolio-image"); ?>
  • < ?php endwhile; pagination($LoopPortfolio->max_num_pages); endif; wp_reset_query(); ?>

    Adicione esta function no seu arquivo function.php ….

     /// pagination function pagination($pages = '', $range = 2) { $showitems = ($range * 2)+1; if ( get_query_var('page') ) { $paged = get_query_var('page'); } else if ( get_query_var('paged') ) { $paged = get_query_var('paged'); } else { $paged = 1; } if(empty($paged)) $paged = 1; if($pages == '') { global $wp_query; $pages = $wp_query->max_num_pages; if(!$pages) { $pages = 1; } } if(1 != $pages) { echo "\n"; } } 

    Adicione este CSS no seu arquivo css …..

     /*******************/ .pagination { clear:both; padding:20px 0; position:relative; font-size:11px; line-height:13px; } .pagination span, .pagination a { display:block; float:left; margin: 4px 4px 4px 0; padding:9px 12px 8px 12px; text-decoration:none; width:auto; color:#fff; background: #555; } .pagination a:hover{ color:#fff; background: #3279BB; } .pagination .current{ background: #3279BB; color:#fff; } 

    Você pode até usar este código para a página inicial (quando uma página personalizada é definida como página inicial, a paginação normalmente não funciona). Então, tenha chamado as páginas duas vezes para superar esse problema. Se você ainda precisar de ajuda, entre em contato comigo e se eu tiver tempo de ajudá-lo.