La paginación de WordPress no funciona en la plantilla search.php
2 ene 2018, 09:32:18
Vistas: 359
Votos: 1
Tengo un pequeño problema, la paginación no funciona en search.php
.
Consulto los resultados con wp_Query
usando el código de abajo,
puedo ver los enlaces de página pero cuando los presiono obtengo un error 404.
Me dijeron que esto sucede porque estoy haciendo la consulta en la página search.php
.
El código que estoy usando está tomado de la paginación de código wp, es una consulta larga pero lo importante son estas dos líneas:
$paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1;
y
'paged' => $paged,
consulta completa
if (isset($_GET['reg-prop-search-form'])){
$paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1;
$args = array(
'posts_per_page' => 9,
's' => $_GET['s'],
'post_type' => 'property',
'paged' => $paged,
'meta_query' => array(
'relation ' => 'AND',
array(
'key' => 'prop_area',
'value' => $area,
'compare' => $area_val,
),
array(
'key' => 'prop_city',
'value' => $city,
'compare' => $city_val,
),
array(
'key' => 'prop_type',
'value' => $type,
'compare' => $type_val,
),
array(
'key' => 'prop_rooms',
'value' => array( $fromrooms, $torooms ),
'type' => 'numeric',
'compare' => 'BETWEEN',
),
array(
'key' => 'prop_store',
'value' => array( $fromfloor, $tofloor ),
'type' => 'numeric',
'compare' => 'BETWEEN',
),
array(
'key' => 'prop_price',
'value' => array( $min, $max ),
'type' => 'numeric',
'compare' => $equal,
),
),
);
};
este es el loop
$the_query = new WP_Query( $args );
.....
<?php if( $the_query->have_posts() ): ?>
<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
<?php get_template_part( 'content', 'search' ); ?>
<?php endwhile; ?>
<div id="pagination">
<?php
$big = 999999999;
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $the_query->max_num_pages
) );
?>
<?php echo paginate_links( $args ); ?>
</div>
<?php else : ?>
<?php get_template_part( 'no-results', 'search' ); ?>
<?php endif; ?>
<?php wp_reset_query(); // Restaurar los datos globales de post afectados por the_post(). ?>
</div>

DavSev
143
Comentarios
Preguntas relacionadas
3
respuestas
1
respuestas
0
respuestas