wake-up-neo.com

Die Paginierung funktioniert nicht für das benutzerdefinierte Suchformular und die benutzerdefinierte Ergebnisvorlage

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

  • Benutzerdefinierter Beitragstyp: job_listing
  • Benutzerdefinierte Taxonomie: job_listing_type
  • benutzerdefinierte Felder als Schlüssel: _job_location

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( '&larr;Newer', $loop->max_num_pages  ); ?></span>
      <span class="next"><?php next_posts_link( 'Older &rarr;', $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

4
aryan

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( '&larr;Newer', $loop->max_num_pages  ); ?></span>
  <span class="next"><?php next_posts_link( 'Older &rarr;', $loop->max_num_pages  ); ?></span>
</div>

gehe in if ($ loop-> have_posts ()):?> Bedingung

1
ClodClod91