Tengo un bucle personalizado que estoy usando para mostrar algunos listados de Bienes Raíces que estarán disponibles dentro de 60 días. Lo llamo con la siguiente función:
<?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(); ?>
Si bien el ciclo funciona muy bien, no puedo hacer que se pagine. Muestra las primeras 10 publicaciones (por defecto) pero no muestra la paginación. La única forma de mostrar todas las publicaciones es mostrarlas en una página agregando 'posts_per_page' => -1,
que tengo bucles similares en otras páginas que no tienen problemas para paginar. La única diferencia con este es que hay dos meta claves que están filtrando las publicaciones.
Estoy usando WP Page Navi para esto y el resto de mis páginas. Estoy cerrando el ciclo y agregando la paginación usando el siguiente código:
<?php endwhile; // End the loop. Whew. ?>
<?php wp_pagenavi(); ?>
<?php wp_reset_query(); ?>
¿Cómo puedo solucionar esto?
fuente
Respuestas:
Me he encontrado con este problema con PageNavi antes. Mi solución es secuestrar la variable $ wp_query temporalmente y luego reasignarla después de cerrar el ciclo. Un ejemplo:
El último paso es reasignar la variable $ wp_query a lo que era originalmente y luego restablecer la consulta para comenzar.
* Editar: * Se corrigió la etiqueta php. Buen ojo francotirador.
fuente
wp_pagenavi()
ahora también acepta elquery
argumento , por lo que en lugar de sobrescribir$wp_query
puede escribirwp_pagename( array( 'query' => $my_query ) )
.WP_Query();
.Tuve un problema similar hoy temprano ...
¿Tiene un tipo de publicación personalizada y una página o publicación con la misma babosa? ¿Qué significa la url de una página que tiene / real-estate y el tipo de publicación personalizada url rewrite at / real-estate?
Si ese es el caso, no puede tener 2 con la misma URL o WordPress se confunde.
Puede cambiar la url o probar esta http://wordpress.org/support/topic/pagination-with-custom-post-type-listing?replies=23#post-1637753 . Elegí cambiar mi URL, pero alguien allí escribió una consulta personalizada para solucionar el problema
fuente
Estoy usando esto para la paginación personalizada y funciona bien
// Defina esto para cualquier plantilla como template-newsletter
fuente
Esta es la solución que funcionó para mí, usando parte del código original de nurain y la respuesta de Jan Fabry:
fuente
¡Puede mostrar su tipo de publicación personalizada utilizando este método, su paginación puede funcionar!
fuente