Porque no funciona esta function para determinar antigüedad, woprdpress

  • Autor Autor lanci112
  • Fecha de inicio Fecha de inicio
lanci112

lanci112

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
Hola a todos, tengo una duda en cuanto a una function que consegui en internet que determina la antiguedad o mejor dicho, compara 2 fechas y dice la antiguedad de la que quieres comparar con la fecha actual: hace 1 mes, 2 dias , 1 año, asi.

el problema es el siguiente, el codigo esta bien, pero agregue un condicional para que en caso de que si el campo en donde debo colocar la fecha lo dejo vació por error, este se convierta automaticamente en la ultima fecha de modificacion del post, pero me di cuenta que no me funciona, mi condicional simplemente devuelve la fecha como tal y no la comparación, no se en que estoy fallando y esperaba algo de ayuda 😕

Insertar CODE, HTML o PHP:
function timeAgo($time_ago)
{
     //este fue el condicional que hice, no funciona, devuelve la fecha como tal y no hace la comparacion, que esta mal?
    if(empty($time_ago)){ 
    $time_ago = the_modified_time(Y-m-d H:i:s);
    }

    $time_ago = strtotime($time_ago);
    $cur_time   = time();
    $time_elapsed   = $cur_time - $time_ago;
    $seconds    = $time_elapsed ;
    $minutes    = round($time_elapsed / 60 );
    $hours      = round($time_elapsed / 3600);
    $days       = round($time_elapsed / 86400 );
    $weeks      = round($time_elapsed / 604800);
    $months     = round($time_elapsed / 2600640 );
    $years      = round($time_elapsed / 31207680 );
    // Seconds
    if($seconds <= 60){
        return "just now";
    }
    //Minutes
    else if($minutes <=60){
        if($minutes==1){
            return "one minute ago";
        }
        else{
            return "$minutes minutes ago";
        }
    }
    //Hours
    else if($hours <=24){
        if($hours==1){
            return "an hour ago";
        }else{
            return "$hours hrs ago";
        }
    }
    //Days
    else if($days <= 7){
        if($days==1){
            return "yesterday";
        }else{
            return "$days days ago";
        }
    }
    //Weeks
    else if($weeks <= 4.3){
        if($weeks==1){
            return "a week ago";
        }else{
            return "$weeks weeks ago";
        }
    }
    //Months
    else if($months <=12){
        if($months==1){
            return "a month ago";
        }else{
            return "$months months ago";
        }
    }
    //Years
    else{
        if($years==1){
            return "one year ago";
        }else{
            return "$years years ago";
        }
    }
}
 
Cambia
PHP:
the_modified_time(Y-m-d H:i:s);
por
PHP:
get_the_modified_time('Y-m-d H:i:s') ;
La primera función imprime directamente la fecha y no retorna ningún valor por eso no se almacena en la variable.
 
Cambia
PHP:
the_modified_time(Y-m-d H:i:s);
por
PHP:
get_the_modified_time('Y-m-d H:i:s') ;
La primera función imprime directamente la fecha y no retorna ningún valor por eso no se almacena en la variable.

Te amo man! xd te juro de que ayer me acosté a las 3 de la mañana intentando de que esa condicional funcionara, que groso eres gracias! :encouragement:
 
Atrás
Arriba