Я бы хотел добавить в профиль пользователя время от регистрации до текущего дня в формате:
С нами: 7 лет 3 месяца 2 недели 6 дней
ИЛИ
У нас: 1 год 1 месяц 1 неделя 1 день
Мне немного помогла эта публикация Подсчет дней с даты регистрации до сегодняшнего дня, но отсчет времени естьидет только в днях.
Вы можете использовать strtotime (get_userdata (get_current_user_id ()) -> user_registered)), чтобы получить дату регистрации, после сравнения с time (), чтобы получить число год, месяц, день.
Нечто подобное
$today_date = new DateTime( date( 'Y-m-d', strtotime( 'today' ) ) ); $register_date = get_the_author_meta( 'user_registered', get_current_user_id() ); $registered = new DateTime( date( 'Y-m-d', strtotime( $register_date ) ) ); $interval_date = $today_date->diff( $registered ); if( $interval_date->days < 31 ) { echo 'With us ' . $interval_date->format('%d days'); } elseif( $interval_date->days < 365 ) { echo 'With us ' . $interval_date->format('%m months %d days'); } elseif( $interval_date->days > 365 ) { echo 'With us ' . $interval_date->format('%y years %m month %d days'); }