<?php if ( !defined( 'ABSPATH' ) ) exit;//PHPの宣言と直接アクセスの拒否

/***** 最終ログイン日を記録してユーザー一覧へ表示 *****/
/* ログイン時に最終ログイン日時をカスタムフィールドに保存 */
function haup_user_last_login( $user_login, $user ) {
	// WordPressのタイムスタンプを保存
	update_user_meta( $user->ID, 'haup_last_logged_in', time() );
}
add_action( 'wp_login', 'haup_user_last_login', 10, 2 );
 
/* ユーザー一覧へ「最終ログイン」カラムを追加 */
function haup_add_last_login_column( $columns ) {
	$text = __('Last Login','hima-art-utility');
	
	$columns['haup_last_login_column'] = esc_html( $text );

	return $columns;
}
add_filter( 'manage_users_columns', 'haup_add_last_login_column' );
 
// 追加したカラムの内容を表示
function haup_add_last_login_column_callback( $row_output, $column_id_attr, $user_id ) {
	$text = __('No History','hima-art-utility');
	
	if ( 'haup_last_login_column' === $column_id_attr ) {
		// 保存したカスタムフィールドの値を取得
		$last_login_timestamp = get_user_meta( $user_id, 'haup_last_logged_in', true );
 
		if ( ! empty( $last_login_timestamp ) ) {
			// WordPressの「設定」→「一般」で設定された日付と時刻フォーマットを取得
			$date_format = get_option('date_format');
			$time_format = get_option('time_format');
			$datetime_format = $date_format . ' ' . $time_format;

			return wp_date( $datetime_format, $last_login_timestamp );
		} else {
			return esc_html( $text );
		}
	}
 
	return $row_output;
}
add_filter( 'manage_users_custom_column', 'haup_add_last_login_column_callback', 10, 3 );
 
// カラムのスタイル調整（任意）
function haup_last_login_column_style(){
$custom_css_pre = '
/* HAUP Last Login Column Width */
th#haup_last_login_column {
	width: 15%;
}
';

	//スタイルコードを改行なしで整形する
	$custom_css = str_replace(PHP_EOL, '', $custom_css_pre);

	wp_add_inline_style('haup-only-admin-style', $custom_css );
}
add_action('admin_enqueue_scripts','haup_last_login_column_style');