Eu tenho um loop personalizado que estou usando para exibir algumas listagens de imóveis que estarão disponíveis em 60 dias. Estou chamando-o com a seguinte função:
<?php
$sixtydays = date('Y/m/d', strtotime('+60 days'));
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query = new PostsOrderedByMetaQuery(array(
'post_type' => array('post', 'real-estate'),
'meta_key' => 'Time Available',
'meta_compare' => '<=',
'meta_value' => $sixtydays,
'paged' => $paged,
'orderby_meta_key' => 'Price',
'orderby_order' => 'ASC'
));
?>
<?php while ($query->have_posts()) : $query->the_post(); ?>
Enquanto o loop funciona muito bem, não consigo paginar. Ele mostra as 10 primeiras postagens (meu padrão), mas não mostra a paginação. A única maneira de exibir todas as postagens é mostrá-las em uma página, adicionando 'posts_per_page' => -1,
loops semelhantes em outras páginas que não têm problemas para paginar. A única diferença com este é que existem duas meta chaves que estão filtrando as postagens.
Estou usando o WP Page Navi para isso e para o restante das minhas páginas. Estou fechando o loop e adicionando a paginação usando o seguinte código:
<?php endwhile; // End the loop. Whew. ?>
<?php wp_pagenavi(); ?>
<?php wp_reset_query(); ?>
Como posso resolver isso?
custom-post-types
query
loop
pagination
nurain
fonte
fonte
Respostas:
Eu já tive esse problema com o PageNavi antes. Minha solução é seqüestrar temporariamente a variável $ wp_query e reatribuí-la após fechar o loop. Um exemplo:
A última etapa é reatribuir a variável $ wp_query ao que era originalmente e, em seguida, redefinir a consulta novamente para iniciar.
* Edit: * Tag php fixo. Bom atirador de olhos.
fonte
wp_pagenavi()
agora também aceita oquery
argumento , portanto, em vez de substituir,$wp_query
você pode escreverwp_pagename( array( 'query' => $my_query ) )
.WP_Query();
.Eu tive um problema semelhante hoje cedo ...
Você tem um tipo de postagem personalizado e uma página ou postagem com a mesma lesma? Significado é o URL de uma página que você possui / imobiliário e o URL do tipo de postagem personalizada é reescrito em / imobiliário?
Se for esse o caso, você não pode ter 2 com o mesmo URL ou o wordpress fica confuso.
Você pode alterar o URL ou tentar este http://wordpress.org/support/topic/pagination-with-custom-post-type-listing?replies=23#post-1637753 . Optei por alterar meu URL, mas alguém lá escreveu uma consulta personalizada para solucionar o problema
fonte
Estou usando isso para paginação personalizada e seu trabalho está bom
// Defina isso para qualquer modelo como template-newsletter
fonte
Esta é a solução que funcionou para mim, usando parte do código original de nurain e a resposta de Jan Fabry:
fonte
Você pode exibir seu tipo de postagem personalizado usando esse método, sua paginação pode funcionar !!!
fonte