Hacer coincidir post con fecha actual

Inicio Foros WordPress Programación Hacer coincidir post con fecha actual

Etiquetado: 

Este debate contiene 12 respuestas, tiene 4 mensajes y lo actualizó  disfrazmimo hace 7 años.

  • Autor
    Publicaciones
  • #23071

    fmoroso
    Participante

    <p>Lo explico.<br />
    La idea es hacer una query que muestre los post de distintos eventos (escritos como post) cuya fecha de ocurrencia coincida con el dia y mes actual…<br />
    Ejemplo: Uno llena un post, dentro del post tiene un custom field (es la única forma que se me ocurre) donde se coloque fecha….Ej: "12-10-1492(esto en el custom field) Cristóbal Colón descubre América" . Entonces, la idea es que si hoy es 12-10-xaño en la pagina se muestre ese post junto con otros ocurridos un dia 12 de octubre de cualquier año, si hoy es 12-11 se muestren eventos que coincidan con esa fecha….etc</p>
    <p>¿Alguien me puede hechar una ayuda?
    </p>

  • #56933

    almendron
    Participante

    Echa un vistazo a

    http://wordpress.org/extend/plugins/a-year-ago/

    Puedes probarlo y si no cumple exactamente como quieres, siempre podrás echarle un vistazo al código para ver cómo lo hace.

  • #56969

    LGrusin
    Miembro

    Mirando por encima WordPress no ofrece ninguna función que haga una consulta (directamente) que coincida con el dia y el mes, dejando el año fuera.

    Creo que no es complicado de hacer. Habría que extraer el dia y el mes del post, y a continuación hacer una consulta a la base de datos para que muestre todos los posts que coincidan con ese dia y ese mes, extrayendo la URL de esos posts. La duda es si esto ralentizará mucho el sitio.

    No hace falta Custom Field para eso.

    A ver si me entra la inspiración…

    Un saludo

  • #56975

    LGrusin
    Miembro

    Lógicamente no tiene mucho sentido consultar por fecha de posts cuando lo que se pretende es consultar por fecha de acontecimiento histórico. En este caso no queda más remedio que añadir un Custom Field al post donde se guarde la fecha del evento que se trata en el post. Quizás tres Custom Field uno para el dia, otro para el mes y otro para el año. De esta forma será más fácil hacer la consulta.

    Es decir, se extrae el dia y mes del post y se buscan los posts que coinicidan con los Custom Fields. También se podría hacer que el dia y el mes se tomen de la fecha actual y no de la fecha del post. De esta forma la información que se mostraría diariamente sería diferente.

    En fin, que me he liado (como suele suceder muchas veces, me encanta hablar sólo… 😉 )

    Un saludo

  • #56977

    fmoroso
    Participante

    Claro, eso de los tres custom field era una de las ideas que tenía.
    Lo otro sería crear categorías (3o para días y 12 para meses).

    Y el tema es tal como mencionas al final, se extrae el mes y día de la fecha actual y se compara con los custom field de los post, esa es la gracia.

    Un saludo.

  • #56978

    almendron
    Participante

    Lo primero que debes decidir es si se van a mostrar en el index o en una página.

    El primer caso es más complejo y no lo aconsejo. Lo de la página es más sencillo. Los pasos serían:

    1.- Los post “históricos” deberían ir marcados con un campo personalizado. Le puedes llamar “histórico” y el valor a poner sería una “S” o en blanco.

    2.- Crea una plantilla a partir de page.php y la llamas “historicos.php”.

    3.- En historicos.php es donde debe ir la consulta que en principio sería:

    a) Obtienes el día y el mes de la fecha.

    b) Y aquí es donde viene el problema porque habría que obtener el día y el mes de todos los posts que tuvieran en el campo personalizado “historico” el valor “S” y solo mostrar los que coincidan ambos datos.

    Es decir, que te valdría page.php tal y como la tienes pero añadiendo el código

    IF valor campo personalizado “historico” = “S” THEN
    varibale1= día del post
    variable2= mes del post
    IF Día actual = variable1 AND Mes actual = varaible2 THEN
    Código para mostrar el post
    ENDIF

    De todas formas, ahora mismo no puedo hacer una simulación. Tengo el ordenador en el taller y en el portátil no tengo instalado lo necesario para hacer pruebas. En cuanto me lo den, podría mirarlo con más detenimiento.

  • #56979

    almendron
    Participante

    He seguido mirando y al parecer sí se puede generar una consulta como la quieres.

    http://wordpress.org/support/topic/nested-year-month-and-date-archive-navigation

    Lo primero que hace es ver cuantos años tienes. Ejecuta la consulta y luego

    foreach($years as $year) :

    Después obtiene los meses, días y posts.

    Si te fijas, hace unas consultas que podría modificar de forma que, para cada año, seleccionar los posts que coincidan con el mes y día actual.

    Echa también un vistazo a

    http://codex.wordpress.org/Class_Reference/wpdb

  • #57008

    fmoroso
    Participante

    Veré lo que muestras Almendron.

    Gracias.

  • #57015

    LGrusin
    Miembro

    Yo no lo veo tan complicado.

    Suponiendo un Custom field (campo personalizado) llamado Fecha que tiene como valor y formato dia-mes. Dias del 1 al 31 y mes del 1 al 12. Un ejemplo de la consulta sería:

    Esto quizás sea mejor ponerlo en el single.php de manera que después del post se muestren los acontecimientos históricos según el dia. Algo como “Sucedió tal dia como hoy”

    Un saludo

  • #57032

    fmoroso
    Participante

    Claro, esa es una opción que manejo.
    La otra es hacerla con categorías, ya lo hice de esta forma(funcionó bien) y ahora probaré la tuya para ver cual funciona mejor.

    Un saludo.

  • #57500

    LGrusin
    Miembro

    almendron creo que a lo que se refiere es a lo siguiente:

    Yo entendí que lo que quería era relacionar artículos con la fecha actual del visitante. Es decir, hoy 25 de noviembre ocurrió:
    – El niño cubano Elián González es rescatado tras perder a su madre
    – Surinam se independiza de Países Bajos
    – Dia Internacional contra la violencia hacia las mujeres
    – Benito Mussolini, recibe plenos poderes del Parlamento italiano
    – etc, etc, etc

    Fuente: Wikipedia… 😉

    Para esto dije de usar un campo personalizado que guardaría el valor 25-11 para este ejemplo. Por supuesto, deben existir artículos sobre estos temas.

    Un saludo

  • #57501

    fmoroso
    Participante

    Si LGrusin eso es exactamente lo que quiero.

    Tanto tu código como el que hice yo mismo con categorías me ha servido.

    Por lo que dejo el tema como resuelto.

    Saludos

  • #57510

    disfrazmimo
    Participante

    yo lo hice asi
    foreach($years as $year) :
    Te saldra hasta pronto me voy a trabajar en mi [url=http://www.disfrazmimo.com]Tienda de disfraces[/url]

El foro ‘Programación’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest

Ir al contenido