WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Вывод даты даты регистрации пользователя в человеческом формате

Первый вопрос.

Необходимо вывести дату регистрации пользователя в человеческом формате (Например: Зарегистрирован на сайте 1 год)

Вывод даты регистрации:

$user_info = get_userdata(1);

echo 'Имя пользователя: ' . $user_info->user_registered . "\n";

/* Выведет:
[user_registered]     => 2016-09-01 00:34:42
*/

Изменить формат даты:

$user = get_userdata(1); //Получаем все данные пользователя с id=1
$user_reg = $user->get('user_registered');
$datetime = new DateTime($user_reg);
echo $datetime->format('Y-m-d'); //Выведет год-месяц-день

Так же, знаю как вывести человеческий формат публикации статьи:

echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' назад';

Но скомбинировать эти знания не получилось smile

И второй вопрос.

echo $datetime->format('F Y');

Выводит April 2019.
Как локализовать?

0
Voodoo
5 лет назад
  • 0
    campusboy4752 www.youtube.com/c/wpplus
    $user_reg  = date( 'U', strtotime( get_userdata( 1 )->user_registered ) );
    $time_diff = human_time_diff( $user_reg, current_time( 'U' ) );
    
    echo $time_diff;
    
    //> 3 месяца
    //> 1 год
    voodoo 5 лет назад

    Спасибо! smile По поводу второго вопроса не подскажешь? Пробовал __() и i18n, но без результата

    campusboy 5 лет назад

    Нет времени изучать тему, извини. Что первое пришло в голову:

    function translated_date( $format ) {
    	$time = explode( ' ', current_time( $format ) );
    
    	$time = array_map( function ( $word ) {
    		return __( $word );
    	}, $time );
    
    	return implode( ' ', $time );
    }
    
    $time = translated_date( 'F Y' );
    
    echo $time; //> Апрель 2019

    Нужно использовать после того, как переводы в Ядре загружены и распарены. В моем случае вставил напрямую в код плагина - не перевелось (переводы ещё не считаны, слишком рано), а на хуке init уже норм было.

    voodoo 5 лет назад

    Понял, спасибо

    Kama 5 лет назад

    По второму вопросу эта не пашет что ли? date_i18n()

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация