Last active
August 29, 2015 14:03
-
-
Save allysonsouza/61c48cea9db17ed9d12a to your computer and use it in GitHub Desktop.
Page Template as Archive for CPT
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* Este é o conteúdo de uma template page a ser exibido por uma página com slug = 'portfolio', tal como o post_type | |
A criação do CPT está com o argumento 'has_archive' => false, e a template page funciona normalmente, exceto quando é necessário | |
exibir uma página que não seja a primeira: www.meusite.com.br/portfolio/page/2 etc. | |
*/ | |
//Pagination | |
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; | |
//Portfolio | |
$args = array( | |
'post_type' => 'portfolio', | |
'posts_per_page' => 9, | |
'paged' => $paged | |
); | |
$query = new WP_Query( $args ); | |
if ( $query->have_posts() ) { | |
while( $query->have_posts() ) { | |
$query->the_post(); | |
//Exibição do conteúdo | |
} | |
} | |
//Abaixo os dois métodos testados de fazer a paginação, com resultados iguais ( a função do odin é basicamente um container para a paginate_links() com verificações e tratamentos adicionais) | |
//Método 1: Paginação do Odin Framework | |
odin_pagination( 2, 1, false, $query ); | |
//Método 2: paginate_links() direto | |
$big = 999999999; // need an unlikely integer | |
echo paginate_links( array( | |
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), | |
'format' => '?paged=%#%', | |
'current' => max( 1, get_query_var('paged') ), | |
'total' => $query->max_num_pages, | |
'prev_next' => false | |
) ); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment