Отображение Обновленного Времени Назад WordPress

#wordpress

Вопрос:

Я хочу отобразить сообщение в стиле «Блог обновлен X дней назад» на своем сайте WordPress, я попробовал приведенный ниже код, но он выдает ошибку.

                 <?php 
                    $posted = get_the_time('U');
                    $newest = $wpdb->get_row("select post_modified from $wpdb->posts 
                    where post_type in ('page', 'post') and post_status = 'publish' order by post_modified desc");
                    echo mysql2date('m/d/Y',$newest->post_modified);
                    echo human_time_diff( strtotime( $newest ), current_time( 'timestamp', 1 ) );
                ?>
 

Предупреждение: strtotime() ожидает, что параметр 1 будет строковым

Любая помощь была бы великолепна!

Комментарии:

1. Если вы var_dump($newest) перед human_time_diff тем, что вы получите? Ошибка довольно проста. руководство по эксплуатации strtotime

2. object(stdClass)[1327] public 'post_modified' => string '2021-06-08 13:50:05' (length=19)

3. Да, это Объект, просто измените его на $newest->post_modified

4. Эпично, спасибо. Если вы хотите написать ответ, я приму его.

Ответ №1:

Вы получаете эту ошибку, потому что передаете что-то другое, чем строка strtotime .

От var_dump $newest того, кому вы передаете Объект.

 object(stdClass)[1327]   
      public 'post_modified' => string '2021-06-08 13:50:05' (length=19)
 

Вы можете захватить post_modified свойство — так как это строка.

Обновите эту строку:

     // Updates $newest to $newest->post_modified
    echo human_time_diff( strtotime( $newest->post_modified ), current_time( 'timestamp', 1 )  );