web-dev-qa-db-ja.com

時間条件について

私は時間を比較しようとしています:

この投稿が過去6ヶ月の間に投稿された場​​合show human_time_diff() else show the_time('j. M .Y')

私の考えは、

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;

 }

}

この関数を使ってふりをするのは、投稿が公開された日付を比較することです。time()は秒単位なので、$sixMonthsAgoの秒数と秒数を比較します。

しかしこれはhuman_time_diff();だけを示しています

これ以上のアイデアはありません...

どう思いますか ?私の論理が間違っているところ?

ありがとうございます。

1
Locke

これは私のためにマイナーチェンジでどのように機能するかです:

  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;

 }

この単純化が役立つことを願っています:)

1
vlood