Sobre os condicionais de tempo

Estou tentando comparar tempos como:

se esta postagem foi postada entre os últimos 6 meses show human_time_diff() else show the_time('j. M .Y')

minha idéia era:

 function time_ago() { global $post; $now = time(); $post_created = strtotime($post->post_date); $sixMonthsAgo = 180*24*60*60; $human_time = 'hace '. human_time_diff( get_the_time('U'), current_time('timestamp') ); $mobile = wp_is_mobile(); if (( $now - $post_created ) > $sixMonthsAgo && $mobile) { the_time('j. M .Y'); } elseif(( $now - $post_created ) > $sixMonthsAgo && !$mobile) { the_time('j. F .Y'); } else { echo $human_time; } } 

O que eu finjo fazer com esta function é comparando a data em que a publicação foi publicada e porque o time() é em segundos eu comparo segundos com segundos em $sixMonthsAgo

Mas isso mostra apenas human_time_diff();

mais ideias …

O que você acha ? onde minha lógica está errada?

obrigado!

Solutions Collecting From Web of "Sobre os condicionais de tempo"

Veja como funciona para mim com pequenas mudanças:

  global $post; $post_created = strtotime($post->post_date); $sixMonthsAgo = strtotime('-6 months'); $human_time = 'hace '. human_time_diff( get_the_time('U'), current_time('timestamp') ); $mobile = wp_is_mobile(); if ($post_created > $sixMonthsAgo && $mobile) { the_time('j. M .Y'); } elseif( $post_created > $sixMonthsAgo && !$mobile) { the_time('j. F .Y'); } else { echo $human_time; } 

Espero que esta simplificação ajude 🙂