El otro día en un proyecto de un cliente necesitaba, para poder calcular si se hacían unas redirecciones o no, obtener la fecha de publicación de un contenido. Un contenido de cualquier tipo en WordPress y de dos formas:
- el actual
- el que se pase por un parámetro enviando la URL
Así que nada, os dejo una pequeña función que preparé que usa básicamente dos funciones de la API de WordPress para conseguirlo:
- url_to_postid: que pasándole una URL te da el post_id del contenido
- get_the_date: que pasándole un formato y el post_id te da la fecha del post en cuestión en el formato que estés enviándole
Aquí lo tenéis:
function fecha_publicacion_contenido( $url = '' ){ global $wp; $url = empty( $url ) ? home_url( $wp->request ) : $url; $post_id = url_to_postid( $url ); if( empty( $post_id ) ) return false; return get_the_date( 'Y-m-d', $post_id ); }
Básicamente lo que hace si os fijáis es:
- En caso de que la URL esté vacía, la que se pasa, obtener la URL actual usando una llamada a home_url pasándole por parámetro la petición actual home_url( $wp->request )
- Con esa URL obtenemos el post_id
- Y ya devolvemos la fecha, tan sencillo como rápido si os fijáis
Y por cierto, hacemos comprobaciones porque puede que url_to_postid no encuentre el contenido, porque la URL no corresponda con ninguno.