#wordpress
#wordpress
Вопрос:
Я добавил код для отображения даты и времени последнего входа в систему на моем веб-сайте (интерфейс).Но он отображается только как 26 минут 9 секунд и т.д., Но мне нужно отображать дату и время в формате часов, минут и секунд. Вот код:
function user_last_login( $user_login, $user ) {
update_user_meta( $user->ID, 'last_login', time() );
}
add_action( 'wp_login', 'user_last_login', 10, 2 );
function lastlogin() {
$last_login = get_the_author_meta('last_login');
$the_login_date = date('F j, Y g:i a', $last_login);
return $the_login_date;
}
add_shortcode('lastlogin','lastlogin');
Комментарии:
1. Прежде всего, попробуйте вернуться
$last_login
без использованияhuman_time_diff
lastlogin
функции inside. Вы должны увидеть некоторое целое число, подобное1609432337
. Затем используйтеdate('H:m:s', $last_login)
для получения отформатированного времени;2. @IhorVyspiansky не дает вам понять, что нужно изменить
3. Возможно, вам не нужно использовать
human_time_diff
, вместо этого попробуйтеdate
. Документы здесь php.net/manual/en/function.date.php4. @IhorVyspiansky я изменил, чтобы он отображал последнее обновление: 15:12:02 $last_login = get_the_author_meta(‘last_login’); $the_login_date = дата (‘H: m: s’, $ last_login);
5. @IhorVyspiansky благодарит, теперь все работает нормально
Ответ №1:
function user_last_login( $user_login, $user ) {
update_user_meta( $user->ID, 'last_login', date( current_time( 'timestamp' )) );
}
add_action( 'wp_login', 'user_last_login', 10, 2 );
function lastlogin() {
$last_login = get_the_author_meta('last_login');
$the_login_date = date('F j, Y, g:i a', $last_login);
return $the_login_date;
}
add_shortcode('lastlogin','lastlogin');