Por que não funciona esta function para determinar antiguidade, wordpress

  • Autor Autor lanci112
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
lanci112

lanci112

Gamma
Verificación en dos pasos activada
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 😕

Inserir CODE, HTML ou 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";
        }
    }
}
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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:
 
Voltar
Topo