Belo Horizonte Wordpress Group

MateusNeves

Wordpress e
Outras Coisas

Resolvendo o problema de paginação customizada para custom post types ou custom taxonomies no Wordpress

Receba novidades sobre Wordpress em seu e-mail

Resolvendo o problema de paginação customizada para custom post types ou custom taxonomies no WordPress

Quem nunca passou por este problema, de querer configurar um número diferente de posts por páginas usando o parâmetro posts_per_page, e ao clicar no link da paginação cair em uma página 404.

Este é um problema comum no WordPress quando usamos a função query_posts() para alterar no número de posts por página. Existem várias soluções mas a maioria não funciona em todos os casos.

Gastando um tempo fazendo uma pesquisa em busca da melhor solução para este problema encontrei em um fórum uma simples solução para este problema.

No código da solução abaixo, estou mostrando um exemplo para aplicar uma paginação com um limite de posts por página diferente do que setamos no painel do WordPress para uma taxonomia e um custom post type.

Eu criei a taxonomia ‘categoy_produtos’ e o código abaixo que deverá ser inserido no seu arquivo functions.php irá alterar o número de posts por página para 5, para esta taxonomia e támbem inseri uma outra condicional para alterar para 8 o número de posts por página para o custom post type ‘lojas’.

add_action'pre_get_posts','set_posts_per_page');
function set_posts_per_page( $query ) {
global $wp_the_query;
if ( is_tax('categoy_produtos')  ) {
    $query->set( 'posts_per_page', 5 );
}
if ( get_query_var('post_type') == 'lojas' ) {
   $query->set( 'posts_per_page', 8 );
}
return $query;
}