abosami
  • 0
Новичок

Я хочу напечатать сообщение в сообщении quotЧерез месяц с даты публикацииquot

  • 0

Мне нужно показать сообщение в сообщении, но через месяц с даты публикации.

Я пытаюсь сделать это, прежде чем спрашивать тебя, но я не могу

это мой код

                $publish_date =  $post->post_date_gmt;
        $today = date('d-m-Y h:i:s');
        $nextMonth = mktime(0 , $publish_date('m')+1 , 0 , 0 , 0,0);
        echo 'Publish Date:'.$publish_date.'<br/>';
        echo 'Today Date:'.$today.'<br/>';
        echo 'Next Month:'.$nextMonth;
        if($today => $nextMonth){
            echo 'One Month or more for publish post';
        } else {
            echo '';
        }
Share
  1. Специальное условное выражение, которое я написал для своей темы (в основном, чтобы удалить некоторые виджеты и рекламу из новых постов), прекрасно работает:

    function is_old_post( $days = 14 ) {
    
        if( !is_single() )
           return false;
    
        $id = get_the_ID();
        $date = get_post_field( 'post_date', $id );
    
        if( strtotime( $date ) < strtotime( "-{$days} days" ) )
            return true;
    
       return false;
    }
    
    • 0
  2. Пара вещей:

    1. Ваша сегодняшняя дата должна иметь формат «Ymd h:i:s».
    2. В любом случае, вы можете использовать current_time(‘mysql’) (основная функция WP).
    3. $publish_date(‘m’)?, и mktime создает отметку времени unix, afaik, а не mysql, что вам нужно, поэтому вместо них попробуйте следующее:

      $ts = strtotime($today);
      $m = date('m', $ts);
      $Y = date('Y', $ts);
      if ($m < 12) { $m++; } else { $m = 1; $Y++; }
      $nextMonth = date('Y-m-d', mktime( 0, 0, 0, $m, date('d', $ts), $Y ));
      
    • 0

Оставить ответ

You must login to add an answer.