Respuestas de foro creadas

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • Iniciador del debate luismoyano

    (@luismoyano)

    Ya lo he solucionado pero con ninguna función de wordpress, porque ni get_next_post(), ni get_adjacent_post() con diferentes argumentos, ni the_post_navigation() me funcionaban, ni retornaban objetos.

    Al final, he generado un par de consultas por mysql para obtener el post anterior y posterior en función de la fecha del post dado, y ya funciona perfecto.

    No se como se realizan esas funciones, ni que consultan a la base de datos (porque no aparecen ni en query_monitor plugin, ni en los logs de mysql) así que me quedo con la duda de saber cual es el problema.

    Pero en fin… Nada que no se pueda resolver a mano con mysql.

    Gracias igualmente por la ayuda!

    • Esta respuesta fue modificada hace 4 años, 7 meses por luismoyano.
    Iniciador del debate luismoyano

    (@luismoyano)

    Hola,
    ya voy averiguando más cositas.

    En el tema que uso, los next post se toma con la función así:
    $next_post = get_next_post(); //sin ninguna variable pasada a la función.

    Yo en su lugar he pasado a usar la función madre de esta forma:
    $next_post = get_adjacent_post( true, ”, false );

    Y ahora empiezo a obtener más links hacia el siguiente post que antes, ahora casi funciona perfecto. El problema es que los links están en función de la categoría, y yo necesito que estén solo en función de su fecha de publicación, independientemente de la categoría donde estén incluidos.

    Porque ahora lo que ocurre, es que el último post está en una categoría X, al igual que el post número 4, mientras los otros están en otra categoría, así que cuando voy del 1 al 1, los botones atrás y delante funcionan, pero cuando llego al post 4, el botón next post va al sitio correcto, pero el prev post va al posy número 1, porque es la categoría que los une.

    En fín…

    ¿Que variables le habría de pasar a la función para que los links se pintaran por fecha, e independientemente de la categoría donde estén incluidos?

    Nota: ya podemos descartar problemas de otro tipo, como javascript, tema, etc… El problema está en la función, y en que los post que se muestran están en diferentes categorías.

    Iniciador del debate luismoyano

    (@luismoyano)

    Hola José Luis,
    pues esto ya es una ayuda. La verdad es que no se me ha ocurrido que javascript puede tener algo que ver, porque como te digo, dentro del php de la paginación del tema ni siquiera se rellena el objeto. Y además, tampoco veo errores de javascript en la consola.

    De todas formas, acabo de ver que también en la migración se había generado un verdadero problema con Yoast SEO, ya que no se habían actualizado bien sus tablas, y generaba errores a cada minuto hasta que el fichero de logs ha rebasado los 30 gigas, eso solo en 10 días que lleva la web en un VPS nuevo, porque como te decía la web es de una persona conocida y tiene muchas visitas al día.

    Esta tarde me pondré con la web de nuevo, una vez he solucionado el problema con Yoast SEO, a ver si consigo algo más, aunque arreglar las tablas de Yoast SEO no ha solucionado el problema. Tampoco en los logs he visto nada más que me haga pensar que falla. Pero bueno… en algún momento fallara algo que me pueda dar la pista, digo yo.

    Y si no lo que dices… Esta noche pongo la web en mantenimiento un ratito, cambio el tema a uno por defecto, y si funciona ya tengo por donde empezar a buscar.

    No obstante, y por si a alguien más le ha pasado, el tema que usa la web es SOLEDAD de theme forest, y no está actualizada a la última versión, pero si a la penúltima, y acabo de mirar y no existe versión nueva más allá de la nueva y salió antes de la actualización. Pero bueno… miraré de actualizarla, porque al fin y al cabo, uso un child theme, no hay problema en actualizar.

    Gracias por tu explicación y talante, y te contaré cosas si averiguo algo que le pueda ayudar a los demás.

    Saludos,
    Luis

    Iniciador del debate luismoyano

    (@luismoyano)

    Hola José Luis,
    a ver… que somos muy mayores los dos, que soy de tu quinta, jeje…
    No necesito ningún profesional, ya que tengo suficientes conocimientos de php y javascript como para poder debuguear por mi mismo que puede estar pasando.

    Ya te dije la razón del por qué no pongo ninguna url, y es porque no quiero que la web de mi cliente (una persona muy conocida en su sector) aparezca en ningún resultado en google en 2 días debido a este problema tonto producto por una actualización, eso creo que es comprensible.

    Pero es que además, el dar la url no va a solucionar absolutamente nada aquí, porque el problema es puramente interno. Es por lo que os pido ayuda para saber por donde puedo empezar a buscar, en lugar de tener que ponerme a revisar la aplicación entera fichero a fichero como si fuera un forense.

    El problema es que dentro del fichero que se encarga de la paginación, la función get_next_post() no devuelve nada (ningún objeto) en ninguno de los post nuevos que publico, mientras que get_prev_post() si que devuelve un objeto con el post correcto.

    Y es extraño porque la función get_adjancent_post() es la misma para ambos, con el true como única diferencia.

    En el anterior debate que publiqué, cometí un error al identificar la función, y pensaba que era related_post() (no soy experto en WordPress), y te lo iba a decir en el anterior post, pero al ver que lo habías cerrado, no he tenido más remedio que abrir otro.

    He buscado en google, y el problema con esta función viene de lejos, desde versiones anteriores a la 4.x, pero normalmente tiene más que ver con taxonomías específicas y customizadas, o al menos es lo que he podido averiguar hasta ahora, porque tampoco le puedo dedicar todo mi tiempo a esto, porque mi profesión, la que me paga las facturas, es otra.

    Al activar save_queries para poder ver que consultas se están haciendo al pintar la página, tampoco puedo ver ninguna consulta relacionada con el post anterior y previo, la consulta que se genera en get_adjacent_post(), y es por eso que pido ayuda, porque estoy perdido, y no sé donde buscar y que probar para poder averiguar que está fallando…. repito… solo en los nuevos post que publico desde que he actualizado el WordPress, porque el resto funcionan perfectamente.

    Pero en fin… Si después de esta explicación, hecha creo yo desde el respeto hacia tu labor y las normas del foro, y explicada lo suficientemente clara como para saber que el exponer la url de mi cliente no va a solucionar absolutamente nada aquí, aún así me la sigues pidiendo, pues en fin.. que le voy a hacer… cierra este hilo también, y ya me iré a buscar la ayuda al foro en inglés.

    Y bueno… si al final consigo solucionar el problema, si no es que en una siguiente actualización lo solucionan ellos mismos, no te preocupes, ya abriré otro hilo para que la gente sepa que hacer si les pasa lo mismo, aunque no pondré ninguna url tampoco, si no te es un problema.

    Iniciador del debate luismoyano

    (@luismoyano)

    Hola,
    entiendo lo que dices. Si no he puesto la página, es porque no quiero que el nombre permanezca para la posteridad en el foro, y reciba visitas de gente curiosa, y no curiosa. Si hubiese una manera de ponerla en modo privado lo pondría sin problema.

    Respecto a lo que me dices, te creo, puede ser el tema, pero digo yo que si lo fuese, fallarían todos los post, y únicamente fallan y funcionan de esta manera, los nuevos post que estoy publicando o republicando. Ninguno de ellos genera link hacia delante, solo link hacia atrás para ver el post más antiguo que él, pero no el siguiente más moderno.

    ¿Esta info de los links que van detrás y delante de cada post se guarda en algún sitio en la base de datos? ¿Donde se hace esa query para que pueda debuguearla en PhpMyAdmin y ver que falla?

    Gracias por adelantado!

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)