Problemas de PageNavi con PremiumNews

Inicio Foros WordPress Themes y Diseño Problemas de PageNavi con PremiumNews

Este debate contiene 21 respuestas, tiene 3 mensajes y lo actualizó  trochilus hace 6 años, 8 meses.

  • Autor
    Publicaciones
  • #23333

    trochilus
    Participante

    <p>Hola, tengo problemas con la paginación de mi theme PremiumNews, que aún lo tengo en local. He metido el código en el footer.php como dice Fernando. Además he cambiado las dos líneas que dice PageNavi en los archivos: single, archive, search y tag (que es donde las he encontrado). Y aparece al final de la página, hasta ahí bien.<br />
    Pero sólo muestra 2 páginas, cuando deberían ser más, además, cuando pincho en la página 2, vuelve a mostrar los mismos contenidos que la 1. Ya he visto que no es un problema nuevo, puesto que ya ha sido planteado en diferentes sitios, pero las soluciones no me funcionan.<br />
    Por lo que dice el readme de PageNavi, que no pase a la siguiente página es debido a que ya se está utilizando un query_posts(). He visto que está en el blog.php y en el default.php. Pero no entiendo de códigos. Os pongo el default:<br />

    <br />
    ¿Alguna sugerencia?<br />
    Gracias<br />
    Un saludo</strong></a>
    </p>

  • #57819

    trochilus
    Participante

    Bueno, ya lo he conseguido. Y os cuento lo que he hecho por si a alguien le puede venir bien:
    Teniendo metido <?php wp_pagenavi(); ?> al principio del footer, y sin tener que sustituir nada de lo que pide el plugin (yo lo había hecho en single.php, archive.php, search.php y tag,php).
    Y gracias al mensaje de CalinSoft (https://ayudawp.com/foro/topic/problema-paginacion-en-index27) hay que cambiar en default.php y en blog.php donde pone:

    $the_query = new WP_Query(‘cat=-‘. $GLOBALS[ex_feat] . ‘,-‘ . $GLOBALS[ex_vid] . ‘&showposts=’ . get_option(‘woo_other_entries’) . ‘&orderby=post_date&order=desc’);

    por:

    $the_query = new WP_Query(‘cat=-‘. $GLOBALS[ex_feat] . ‘,-‘ . $GLOBALS[ex_vid] . ‘&showposts=’ . get_option(‘woo_other_entries’) . ‘&orderby=post_date&order=desc&paged=’.$paged);

    Es como al final se ha arreglado todo.
    Ahora me viene la pregunta de si se puede hacer de manera que únicamente salga la paginación en la página principal, ya que en las páginas y en los posts no es necesario que salga, para así evitar que ponga Página 1 de 1.
    Un saludo

  • #57820

    trochilus
    Participante

    ¡Ya está! Ya lo tengo de manera que únicamente se vea en la página principal.
    He quitado del footer.php
    <?php wp_pagenavi(); ?>
    para ponerlo en home.php, entre
    <?php get_sidebar(); ?> y <?php get_footer(); ?>
    Cierro el hilo, pues.
    Un saludo, y gracias por vuestro interés.

  • #57821

    trochilus
    Participante

    Vale, no se me ha resuelto el asunto de que sólo me marca dos páginas. He cambiado el número de entradas visibles en la página principal para que tenga que poner mayor número de páginas, y nada. Se mantiene en 2.
    ¿Alquien sabe dónde puede estar el error?
    Un saludo

  • #57828

    almendron
    Participante

    Para evitar que salga la paginación en las entradas individuales, comprueba que la casilla “Mostrar la navegación, incluso si sólo hay una página” está desactivada (Ajustes >> pageNavi).

    En cuanto a lo otro, prueba a añadir posts_per_page a la consulta, es decir, que quedaría así:

    $the_query = new WP_Query('cat=-'. $GLOBALS[ex_feat] . ',-' . $GLOBALS[ex_vid] . '&showposts=' . get_option('woo_other_entries') . '&orderby=post_date&order=desc' . 'posts_per_page=5');

    Respecto a la colocación del código, hay dos opciones: ponerlo en footer.php (con lo que está disponible en cualquier página) o en los archivos que te interese que aparezca la paginación. Si desmarcas la casilla que te he comentado antes, solo saldrá cuando haya más de una página.

  • #57829

    trochilus
    Participante

    Gracias almendron.
    No me había fijado que había un casilla para activar o desactivar el “Mostrar la navegación, incluso si sólo hay una página” Estaba tan pendiente de arreglar lo otro…
    He probado lo que dices, el añadir el post_per_page y sigo sin conseguir que salgan más de dos páginas. Tengo en total 11 entradas, y he puesto para que muestre 2, de manera que tengan que salir 6 páginas, y no hay manera, sólo pone 2 páginas.

  • #57830

    almendron
    Participante

    En la documentación del plugin aparece esta solución:

    http://scribu.net/wordpress/wp-pagenavi/wpn-2-74.html

  • #57831

    LGrusin
    Miembro

    A ver, &paged=’.$paged siempre hay que ponerlo si modificas la consulta.

    Esto hay que hacerlo en [b]todos[/b] los archivos en los que quieras poner la paginación y modifiques el número de posts a mostrar.

    Un saludo

  • #57835

    trochilus
    Participante

    He mantenido el &paged=’.$paged porque sino no me pasa a la página siguiente.
    Sobre el enlace del plugin. No entiendo dónde tengo que hacer el cambio. Por si acaso he probado a sustituir mi:

    $the_query = new WP_Query(‘cat=-‘. $GLOBALS[ex_feat] . ‘,-‘ . $GLOBALS[ex_vid] . ‘&showposts=’ . get_option(‘woo_other_entries’) . ‘&orderby=post_date&order=desc&paged=’.$paged. ‘posts_per_page=5’);

    Por los que aportan en el enlace, pero se descolocan las entradas. No entiendo de códigos…

  • #57838

    LGrusin
    Miembro

    Prueba:

    Te lo pongo con saltos de línea para que veas todo el código en pantalla.

    Si copias debes hacerlo del primer código que he puesto, aunque no salga en pantalla, se pega perfectamente.

    Por cierto, showposts y posts_per_page es lo mismo, no debes repetirlo. showposts es una opción del theme que te permite configurar el número de posts a mostrar, busca en la configuración del theme.

    Saludos

  • #57840

    trochilus
    Participante

    Gracias LGrusin, pero sigo sin conseguir que salgan más páginas de las 2 primeras. Funciona pero sólo para las 2 primeras.

    En el theme en Theme Options>Front Page Layout>Homepage Entries, he puesto 2, adrede para que me tenga que generar más páginas. No sé si es eso lo que me comentas sobre los showposts y posts_per_page… Si no es así, puedo pegar aquí el código que creas necesario para verlo.

    Un saludo

  • #57841

    almendron
    Participante

    LGrusin: ¿No habría que pasar la consulta por el pagenavi? Lo pregunto porque en la solución que dan en el manual de aquél así lo hacen:

    <?php wp_pagenavi( array( 'query' => $the_query ) ); ?>
    <?php wp_reset_postdata(); ?>

    Y la consulta quedaría así:

    $the_query = new WP_Query('cat=-'. $GLOBALS[ex_feat] . ',-' . $GLOBALS[ex_vid] . '&showposts=' . get_option('woo_other_entries') . '&orderby=post_date&order=desc&paged='.$paged);

  • #57842

    trochilus
    Participante

    Sí, así es como arreglé que pasara de la página 1 a la página 2, está comentado más arriba. Pero sigo en las mismas. Igual es que el error está en otro lado, no sé dónde mirar… Y me estoy temiendo que sea una tontería que déis por hecho que ya haya hecho, y realmente no sea así.

  • #57854

    LGrusin
    Miembro

    Lo primero que habría que comprobar es que sin el wp-pagenavi cambia a las siguientes paginas. Lo digo por saber si el problema viene del theme o del plugin.

    Es decir,
    1 – Desactivar el wp-pagenavi
    2 – Comprobar que añadiendo &paged=’.$paged cambias de página en el archivo correspondiente. Todavía no me he enterado en qué archivo lo estás haciendo, ¿Es el home.php?.
    3 – Comprobar que realmente existen más artículos que mostrar… 😉

    Sobre la opción esa de showposts. No sé si es eso de Theme Options>Front Page Layout>Homepage Entries. Añade más a ver que cambios notas.

    Y me estoy temiendo que sea una tontería que déis por hecho que ya haya hecho, y realmente no sea así.

    Pues posiblemente…

    Deberías ir por pasos. Yo empezaría partiendo del original del theme sin wp-pagenavi.

    Un saludo

  • #57858

    LGrusin
    Miembro

    Bueno, lo había puesto antes pero lo edité hasta comprobarlo. Efectivamente showposts hace una consulta por el número de posts que le indiques, por tanto no va mostrar más y no puede existir paginación si no indicas el paged=$paged.

    Para solucionarlo existen dos opciones, en los archivos, blog.php y default.php

    1 – Eliminar el dichoso showposts, quedaría así.

    Para configurar el número de posts a mostrar lo haces desde el menú Ajustes – Lectura y pones el número de posts que desees.

    2 – O bien, sustituir showposts por posts_per_page

    Con esto ya funcionará la paginación con o sin plugin.

    Un saludo

  • #57861

    trochilus
    Participante

    Primeramente contesto a tu último mensaje.
    He incluido el primer código que planteas, con el plugin, entonces muestra 10 entradas por página (no sé por qué 10), a pesar de que haya puesto que sean 6. Sin plugin no avanza.
    En donde indicas que hay que poner el número de posts a mostrar (Ajustes>Escritura), no lo veo. Sólo lo he visto en Theme Options>Front Page Layout>Homepage Entries.
    Con el segundo código, me muestra las entradas que yo quiero, pero sigue sin mostrarme más de 2 páginas.
    Sobre el anterior mensaje al último enviado:
    Te pongo el enlace de una página que utiliza el mismo tema que yo, en la que no utiliza ningún plugin para la paginación. Ese era el estado en que me encontraba yo antes de utilizar wp-pagenavi. Pinchando en “See more articles in the archive” volvía a la misma página.
    http://bocaratoncityonline.com/
    He desactivado wp-pagenavi, he eliminado del home <?php wp_pagenavi(); ?> y teniendo puesto &paged=’.$paged, no hay manera. Yo creo que la paginación no viene con el tema. Se supone que hay una orden a archive, pero no me funciona. ¿O es que está relacionado archive con el resto de las entradas?
    El home.php que tengo es el siguiente:

    Y donde incluyo el &paged=’.$paged es en el archivo default.php porque uso dos columnas, si fuera una, sería el blog.php (al menos eso creo). Pongo el código del default.php (si quieres ver el código que viene por defecto en el tema, es el que he indicado arriba del todo, en el primer mensaje que mandé). Y el que estaba utilizando para aplicar la paginación es el siguiente:

    Sí, hay más artículos que mostrar. Tengo 11 entradas, y al poner que muestre dos por página, deberían salir más de 2 páginas. He jugado con el número de entradas a mostrar para ver si muestra más páginas y no pasa de 2. En teoría van a ser 6 por página, y actualmente con 11 entradas, me bastan las 2 páginas, pero cuando se vayan incluyendo más entradas, no se mostrarán, por lo que quería arreglarlo.
    Un saludo

  • #57867

    LGrusin
    Miembro

    Bien me he liado.

    Parto de lo que tienes en el archivo default.php (puedes hacer lo mismo con blog.php)

    Añade justo antes del último </div> lo siguiente:

    No saldrá bonito porque lo he copiado de otro theme pero es para comprobar la paginación.

    Una vez compruebes que funciona sustituye todas esas líneas por las que dice el plugin wp-pagenavi que debes poner.

    Un saludo

  • #57873

    trochilus
    Participante

    No me extraña que te hayas liado, con el mensaje que he escrito…. Gracias por tu paciencia.
    He colocado el código en default.php donde dices. Pero, para la primera página sólo pone “Antiguos posts” como es lógico, porque no puede haber nuevos, y al pinchar en “Antiguos posts” me lleva a la página con los posts siguientes, pero en esta página sólo da la opción de “Nuevos posts”, no pudiendo acceder a los siguientes.
    No entiendo porqué no muestra más páginas si aún hay posts por mostrar.
    Un saludo

  • #57878

    LGrusin
    Miembro

    Lo de antiguos o nuevos dependerá de si se muestran primero los posts más recientes o los más antiguos, no tiene mayor importancia. Se trata de saber si funciona la paginación.

    Este theme es un poco antipático. Si te fijas salen primero los posts más antiguos cuando deberías poder elegir que se mostraran los más recientes como en la mayoría de blogs.

    El problema es generado por la consulta. Quizás terminarías antes si “pasas” de ella.

    Es decir, eliminar todo esto:

    y sustituir donde pone:

    por

    Verás que funciona perfectamente la paginación y te muestra los posts ordenados de más antiguos a más nuevos. En este caso el número de posts a mostrar lo controlas desde Ajustes – Lectura como te dije antes, tienes 10 pues baja la cifra.

    Podrías ir tirando con esto hasta que averigue que demonios está haciendo el theme.

    Un saludo

  • #57885

    trochilus
    Participante

    ¡Ey! va muy bien.
    Ups! No sé por qué demonios estaba mirando en Escritura, en vez de en Lectura. Cambiando los valores de Theme Options>Front Page Layout>Homepage Entries y en Ajustes>Lectura, con el código que tenía puesto, hacía páginas de más en blanco según los valores que metía en los anteriores sitios.
    No me he encontrado con el problema de que saque los posts más viejos primero. En ese aspecto ha ido siempre bien la cosa.
    Con el código que acabas de mostrar salen perfectamente el número de páginas. Sí que tengo que tener en cuenta que el valor en ambos sitios sea el mismo, tanto en Theme Options>Front Page Layout>Homepage Entries como en Ajustes>Lectura. Si no, hay un pequeño fallo en el diseño. Pero vamos, que está superbien.
    ¿Cierro el hilo? o ¿quieres aportar algo más?
    ¡Muchísimas gracias!
    Un saludo

  • #57896

    LGrusin
    Miembro

    Es que te dije escritura en vez de lectura, perdón por el lapsus…

    La verdad es que en las pruebas que hice me salían primero los posts antiguos y no responde a cualquier orden que le indique. Al poner el código anterior me salen primero los últimos posts publicados.

    El theme tiene incluso códigos que no usa, como por ejemplo, $do_not_duplicate = $post- >ID; y alguna cosillas más.

    No sé, me quedo con la sensación de que algo se nos ha pasado por alto. Si notas algo raro, pues seguimos…

    Un saludo

  • #57901

    trochilus
    Participante

    Vale, en el caso de que surjan problemas reabro el hilo.
    Muchas gracias LGrusin.
    Un saludo.

El foro ‘Themes y Diseño’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest