¿Cómo cambiar el tiempo modificado de una publicación de wordpress?

2 minutos de lectura

Podemos hacer uso de ajax para actualizar nuestro post_meta como quisiéramos. Sin embargo, no cambia el tiempo_modificado de la publicación.

Dependemos de get_modified_time para mostrar a los usuarios cuándo se actualizó por última vez la publicación. (Cuanto más nuevo, mejor)

He buscado y no veo a nadie usando esta técnica todavía.

¿Alguien tiene una respuesta?

¡Gracias!

avatar de usuario
Balas blandas

Usé wpdb::query() para hacer esto:

global $wpdb;

//eg. time one year ago..
$time = time() - DAY_IN_SECONDS * 365;

$mysql_time_format= "Y-m-d H:i:s";

$post_modified = gmdate( $mysql_time_format, $time );

$post_modified_gmt = gmdate( $mysql_time_format, ( $time + get_option( 'gmt_offset' ) * HOUR_IN_SECONDS )  );

$post_id = /*the post id*/;

$wpdb->query("UPDATE $wpdb->posts SET post_modified = '{$post_modified}', post_modified_gmt="{$post_modified_gmt}"  WHERE ID = {$post_id}" );

Nota: usted no poder usar wp_update_post() si desea establecer explícitamente la(s) fecha(s) modificada(s) en la publicación, porque llama wp_insertar_post()que determina que el puesto existe y establece las variables post_modified y post_modified a la fecha actual.

  • esta respuesta es correcta, la aceptada es engañosa

    – majick

    2 de julio de 2018 a las 1:47

  • Es una buena respuesta, pero puede reemplazar la generación de fechas con funciones de WP current_time('mysql') y current_time('mysql', 1)

    – ViliusL

    11 de diciembre de 2020 a las 10:28

  • $post_id = [the post id]; la identificación de la publicación no funciona como una matriz, pero además de eso. Perfecto.

    – Aarón

    20 de enero de 2021 a las 22:31


  • Disculpas, eso no pretendía ser una matriz, solo una abreviatura de your-id-here. Publicación actualizada 🙌

    – Balas blandas

    13 de agosto de 2021 a las 7:49

Muy simple en PHP, donde 80 es el numero de la publicacion:

// update post_modified and post_modified_gmt `datetime` on a post
$update = array( 'ID' => 80 );
wp_update_post( $update );

  • Está muy lento Así, si desea velocidad, use la consulta directa de base de datos, será como 20 veces más rápido.

    – ViliusL

    11 de diciembre de 2020 a las 10:24


  • Y también será inseguro, ya que no usará ganchos wp, etc. sigue usando wp way si no quieres errores extraños, problemas de caché, etc.

    – Tofandel

    27 de julio a las 10:30

Si desea cambiar por un conjunto de publicaciones, mejor use Bucle de consulta para obtener cada ID de publicación.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad