La paginación no funciona en la plantilla de página personalizada [duplicar]

2

Aparentemente este es un tema muy popular. Ya hay un montón de personas que ofrecen respuestas para esto. Pero de alguna manera después de horas de búsqueda todavía no puedo obtener la solución. Espero que alguien me pueda dar una pista aquí.

Actualmente he creado una página para mostrar todas las publicaciones de mis tipos de publicaciones personalizadas. Aquí están mis códigos de plantilla de página:

<?php

 /*
Template Name:custom post type page
*/
get_header(); ?>

<div id="primary">
  <div id="content" role="main">

    <?php   
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 

    $args = array(
            'post_type'=>array('car','bicycle'),
            'posts_per_page'=> 20,
            'page'=>$paged,
            );

    $the_query = new WP_Query( $args);
    $num =  $the_query->found_posts;

     if($the_query){
     if ($the_query->have_posts()) : echo $num;
         while ($the_query->have_posts()) : $the_query->the_post();
          echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
         endwhile;

        next_posts_link( 'Next', $the_query->max_num_pages );
        previous_posts_link('Previous', $the_query->max_num_pages ); 


     else : $return_string =  'no result';  

     endif; wp_reset_query();  wp_reset_postdata();
    }

   ?>

        </div><!-- #content -->
    </div><!-- #primary -->

El problema aquí es cuando hago clic en Next (o Previous ), el resultado de la consulta sigue siendo el mismo. Noté que la url tiene mostrar el número de página ( page/2/ , o page/3/ .. etc). Y el found_posts() remains same on each page , todo parece estar bien, solo el contenido no muestra el objeto de consulta correcto.

También intenté agregar 'max_num_pages'=>2 al argumento wp_query, pero aún no ayudando.

¿Alguna idea?

    
pregunta dev-jim 23.10.2012 - 20:27

2 respuestas

3

Prueba lo siguiente y ve cómo te va ...

<?php 
  global $paged;
  global $wp_query;
  $temp = $wp_query; 
  $wp_query = null; 
  $wp_query = new WP_Query(); 
  $wp_query->query('posts_per_page=10&post_type=your_post_type'.'&paged='.$paged);
  while ($wp_query->have_posts()) : $wp_query->the_post(); 
?>

<!-- do your loop output here, title, content etc -->

<?php endwhile; ?>

    <?php previous_posts_link('&laquo; Newer') ?>
    <?php next_posts_link('Older &raquo;') ?>

<?php 
  $wp_query = null; 
  $wp_query = $temp; 
?>
    
respondido por el userabuser 23.10.2012 - 23:00
1

Desde el códice enlace

  

A veces, la navegación a la segunda (y posterior) página de las publicaciones no funciona como se esperaba. Su página puede generar un enlace a una página con uno de estos URI:

http://www.example.com/page/2/
http://www.example.name/category/categoryname/page/2/
http://www.example/year/month/day/page/2/
http://www.example/year/month/page/2/
     

El resultado de hacer clic en uno de esos enlaces es que la página se carga con todos los alrededores (encabezado, pie de página, barra lateral), pero en lugar de una página de publicaciones, aparece un mensaje de error: "Lo sentimos, ninguna publicación coincide con ese criterio. . "

     

Esto se debe a una falla en el archivo .htaccess que genera WordPress. Para solucionarlo, elimine el contenido de su archivo .htaccess y vuelva a crearlo.

    
respondido por el Mridul Aggarwal 23.10.2012 - 20:33

Lea otras preguntas en las etiquetas