Ich benutze ein benutzerdefiniertes Suchformular und eine benutzerdefinierte Vorlage, um die Ergebnisse gemäß der in hier angegebenen Lösung anzuzeigen. Bis auf die Paginierung, die anscheinend überhaupt nicht funktioniert, funktioniert alles perfekt
Übersicht
Hier ist der Code für das Suchformular:
<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>
Hier ist die Suchergebnisvorlage
<?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(); ?>
Ergebnis bei der ersten Suche, URL ist wie
http://example.com/?search=advanced&terms%5B%5D=.Eat&job_listing=
Nachdem ich das nächste Mal gedrückt habe, wird die URL
http://example.com/page/2/?search=advanced&terms%5B0%5D=.Eat&job_listing
aber nichts passiert, Ergebnis bleibt gleich
Ich habe das noch nie gemacht, bitte hilf mir dabei
ich habe folgendes gesehen: next_posts_link
Sie müssen wp_reset_postdata verwenden, wenn Sie new WP_QUERY () verwenden
<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>
gehe in if ($ loop-> have_posts ()):?> Bedingung