Estoy utilizando un formulario de búsqueda personalizado y una plantilla personalizada para mostrar los resultados según la solución dada en aquí Todo funciona perfectamente, excepto la paginación, que parece no funcionar en absoluto
Descripción general
- Tipo de publicación personalizada: job_listing
- Taxonomía personalizada: job_listing_type
- campos personalizados como clave: _job_location
Aquí está el código para el formulario de búsqueda:
<form method="get" id="advanced-searchform" role="search" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<input type="hidden" name="search" value="advanced">
<select id="my-select1" class="js-example-basic-single isotopeselect" data-filter-group="proyectos" multiple="multiple" name="terms[]">
<?php foreach ($job_terms as $job_term): ?>
<option value=".<?php echo str_replace(' ', '-', str_replace('&', 'and', html_entity_decode($job_term)));?>"><?php echo $job_term;?></option>
<?php endforeach; ?>
</select>
<button type="submit"><span>search</span></button>
<input type="hidden" name="job_listing" value=""/>
</form>
Aquí está la plantilla de resultados de búsqueda
<?php
get_header();
$terms=array();
$all=($_REQUEST);
if(isset($_REQUEST["terms"])){
$myterms=$all["terms"];
foreach ($myterms as $myterm) {
$myterm=str_replace(".","",$myterm);
$terms[]=$myterm;
}
}
if($terms){
$tax_query[] = array(
array(
'taxonomy' => 'job_listing_type',
'field' => 'name',
'terms' => $terms
) );
}
$post_type = 'job_listing';
$paged= (get_query_var('paged' )) ? get_query_var('paged'):1;
$args = array(
'paged'=>$paged,
'post_type'=>$post_type,
'posts_per_page'=>1,
'tax_query' => $tax_query,
);
$loop = new WP_Query( $args );
if($loop->have_posts()):?>
<div class="my-services">
<?php
while($loop->have_posts()):$loop->the_post();
the_title();
endwhile;
?>
</div>
<?php endif; ?>
<div class="pagination" id="blog-pagination">
<span class="previous" ><?php previous_posts_link( '←Newer', $loop->max_num_pages ); ?></span>
<span class="next"><?php next_posts_link( 'Older →', $loop->max_num_pages ); ?></span>
</div>
<?php wp_reset_query();?>
<?php get_footer(); ?>
Resultado en la búsqueda inicial, la url es como
http://example.com/?search=advanced&terms%5B%5D=.Eat&job_listing=
Después de que golpee a continuación, la url se convierte en
pero no pasa nada, el resultado permanece igual
Nunca he hecho esto antes, por favor, ayúdame con esto