• User

    Search Custom in Wordpress + Genesis

    Buongiorno sto provando a realizzare la pagina di ricerca personalizzata in Wordpress, utilizzando Genesis. Solo che nella creazione della paginazione utilizzando la funzione paginate_links() riscontro il seguente problema.
    Se inserisco global $wp_query i numeri delle pagine scompaiono, se lo tolgo i numeri delle pagine compaiono ma se clicco su 2 o 3 mi da errore 404. Sinceramente non riesco a comprendere dov'è l'errore, se potete darmi qualche piccola indicazione, vi ringrazio per l'attenzione.

    
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
      $s = isset( $_GET["s"] ) ? $_GET["s"] : "";
      $args = (array(
        's' => $s,
        'posts_per_page' => 3,
        'paged' => $paged,
      ));
      $wp_query = new WP_Query( $args );
      ?>
      <div class="container-search">
      <?php
      if ( $wp_query->have_posts() ) {
        $startpost=1;
        $startpost=3*($paged - 1)+1;
        $endpost = (3*$paged < $wp_query->found_posts ? 3*$paged : $wp_query->found_posts);
        ?>
          <div class="result">
            <h2>You searched for: <?php echo $s ?></h2>
            <p>Displayed results: from <strong><?php echo $startpost; ?></strong> to <strong><?php echo $endpost; ?></strong> of <strong><?php echo $wp_query->found_posts; ?></strong> total</p>
          </div>
        <?php
          while ( $wp_query->have_posts() ) : $wp_query->the_post();
          ?>
          <article class="search">
            <h3><?php echo get_the_title(); ?></h3>
            <span class="url"><a href="<?php the_permalink(); ?>"><?php the_permalink(); ?></a></span>
            <p><?php echo get_the_excerpt(); ?></p>
          </article>
          <?php
          endwhile;
          global $wp_query;
          $big = 999999999;
          echo paginate_links(array(
            'base' => str_replace( $big, '%#%', esc_url(get_pagenum_link($big))),
    	      'format' => '?paged=%#%',
    	      'current' => $paged,
            'total' => $wp_query->max_num_pages,
            'prev_text'       => __('&laquo;'),
            'next_text'       => __('&raquo;')
          ));
    
    
          wp_reset_postdata();
    
    

  • User

    Ho risolto, modificando le impostazioni nel backend di wordpress.

    Impostazioni -> Lettura -> Numero Articoli Recenti. Si deve inserire, lo stesso numero inserito nel parametro posts_per_page (wp_query).