Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Problema con la paginación en wordpress

Estas en el tema de Problema con la paginación en wordpress en el foro de WordPress en Foros del Web. (Disculpen de antemano si no es el lugar para pregunta ésto) Buenas tardes, tengo un problema con un tema concreto (Barajador) que no me pagina ...
  #1 (permalink)  
Antiguo 14/06/2011, 11:50
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 1
Busqueda Problema con la paginación en wordpress

(Disculpen de antemano si no es el lugar para pregunta ésto)

Buenas tardes,

tengo un problema con un tema concreto (Barajador) que no me pagina correctamente las entradas, es decir, utilizando el siguiente código:

<div id="alignright"><?php next_posts_link('Anteriores') ?></div>
<div id="alignleft"><?php previous_posts_link('Siguientes') ?></div>

Detecta perfectamente el número de entradas por ejemplo 30, si quiero 10 de cada vez me muestra 3 páginas pero al intentar mostrar la página 2 o la 3 me enseña de nuevo los post de la 1, siempre así. Cambié de tema y sí funciona.

He buscado mucha información al respecto pero no acabo de encontrar el lugar para modificar y que funcione.

¿Alguna idea?

Muchas gracias.
  #2 (permalink)  
Antiguo 14/06/2011, 11:53
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Problema con la paginación en wordpress

el error esta en el tema.
seguro no carga algo del header o del footer
  #3 (permalink)  
Antiguo 14/06/2011, 18:01
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: Problema con la paginación en wordpress

Por favor colocá el código del loop en la plantilla en donde te está dando el error.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #4 (permalink)  
Antiguo 15/06/2011, 03:09
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Problema con la paginación en wordpress

Disculpa Nekko, no sé a qué te refieres soy un pelín novato.

En cualquier caso no me da ningún error, de hecho pagina bien pero no muestra los post correctos en cada página, pero sin mensaje de error.
  #5 (permalink)  
Antiguo 15/06/2011, 06:05
Avatar de Lopezito  
Fecha de Ingreso: junio-2010
Mensajes: 367
Antigüedad: 13 años, 9 meses
Puntos: 17
Respuesta: Problema con la paginación en wordpress

Cita:
Iniciado por benitolo Ver Mensaje
Disculpa Nekko, no sé a qué te refieres soy un pelín novato.

En cualquier caso no me da ningún error, de hecho pagina bien pero no muestra los post correctos en cada página, pero sin mensaje de error.
En el theme hay diferentes archivos de loop(loop.php, loop-single.php, loop-page.php, etc.).
Pon el código del archivo loop.php
Saludos.
  #6 (permalink)  
Antiguo 15/06/2011, 09:20
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Problema con la paginación en wordpress

Ese tema no tiene loop ni nada parecido, concretamente el tema es: http://www.temaswordpress.es/2009/07/tema-para-wordpress-barajador/

Que falla algo del tema es seguro, pero acercándome más al problema intuyo que no recibe algún parámetro bien home.php o index.php (que ambas existen y creo que se ejecuta home.php). Lo curioso es que si hago una búsqueda con muchos resultados la pagina y muestra bien, y si pincho en una categoría también lo hace todo bien, sólamente es en la página principal.
  #7 (permalink)  
Antiguo 15/06/2011, 09:43
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Problema con la paginación en wordpress

Pego home.php:

<?php get_header(); ?>

<?php
$ppp = $GLOBALS['_latest_posts_number'];
$id = get_cat_id('Portfolio');
$q = "showposts=".$ppp."&cat=-".$id;
query_posts($q);
?>


<?php include(TEMPLATEPATH . '/blog.php'); ?>

<?php include(TEMPLATEPATH . '/navigation.php'); ?>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

-----------------------------------
Probé lo siguiente pero tampoco funcionó:



<?php get_header(); ?>

<?php
$ppp = $GLOBALS['_latest_posts_number'];
$id = get_cat_id('Portfolio');
$q = "showposts=".$ppp."&cat=-".$id;
query_posts($q);

?>

<?php if(have_posts()) : ?>

<?php while(have_posts()) : the_post(); ?>

<?php include(TEMPLATEPATH . '/post.php'); ?>
<p>&nbsp;</p>

<?php endwhile ?>

<?php endif; ?>


<?php include(TEMPLATEPATH . '/navigation.php'); ?>

<?php get_sidebar(); ?>

<?php get_footer(); ?>
  #8 (permalink)  
Antiguo 15/06/2011, 10:05
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: Problema con la paginación en wordpress

Fijate reemplazando el query por este:

Código PHP:
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$id get_cat_id('Portfolio');
query_posts('cat=-'$id .'&paged=' $paged); ?>
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #9 (permalink)  
Antiguo 15/06/2011, 10:23
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Problema con la paginación en wordpress

Muchas gracias por el código, creo que la solución está cerca pero sigue sin funcionar, aunque trasteando con la función query_post() he averiguado que si le pongo manualmente lo siguiente:

query_posts('paged=2');

sí funciona, y a medida que cambio el parámetro paged funciona, la duda ahora es cómo recoger le número de página como parámetro, no soy capaz, probé a cambiar en tu código lo siguiente:

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

por

$paged = (get_query_var('page')) ? get_query_var('page') : 1;

pero no me lo coge bien, de echo muestro por pantalla $paged y en ambos casos según voy pasando de página siempre me devuelve 1
  #10 (permalink)  
Antiguo 15/06/2011, 11:00
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 1
SOLUCIONADO!!!! Respuesta: Problema con la paginación en wordpress

Estuve haciendo varias pruebas y vi cómo la variable $paged la recogía bien en el header hasta que entraba en escena la siguiente línea:

if (is_home()) include (TEMPLATEPATH . '/shuffle.php');

a partir de ahí la variable $paged desaparecía. Así que la solución fue comentar esa línea o borrarla y después utilizar el código propuesto por Nekko en home.php:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$id = get_cat_id('Portfolio');
query_posts('cat=-'. $id .'&paged=' . $paged);

Y todo va OK!

Muchas gracias chicos!!!
  #11 (permalink)  
Antiguo 15/06/2011, 11:34
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: Problema con la paginación en wordpress

Gracias por compartir la solución final
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #12 (permalink)  
Antiguo 15/08/2012, 15:00
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Problema con la paginación en wordpress

Buenas,

Me encontré con el mismo problema pero lo solucioné de otra forma. La comparto:

Al parecer el tema que estaba usando solo admite un número fijo de entradas en la home (se puede cambiar en el código, claro). Así que lo único que tuve que hacer fue ajustar el número de entradas en "Ajustes de lectura" poniendo el mismo número que venia por defecto.

Supongo que si se quiere cambiar el número de entradas en home al gusto de uno, habrá que tocar el código que comentáis. Pero si hay alguien que no se le da bien, esta puede ser otra solución.

Saludos.

Etiquetas: anteriores, entradas, next_posts_link, paginacion, php, siguientes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:27.