0 ); unset( $rows[ $key ] ); $rows = array( $key => array( 'page_id' => $page_id, 'title' => mb_substr( (string) get_the_title( $page_id ), 0, 150 ), 'builder' => mb_substr( $builder, 0, 60 ), 'reason' => mb_substr( $reason, 0, 300 ), 'count' => (int) $row['count'] + 1, 'user_id' => get_current_user_id(), 'at' => gmdate( 'Y-m-d H:i:s' ), ), ) + $rows; update_option( self::OPTION, array_slice( $rows, 0, self::MAX, true ), false ); } /** * Rows, newest first. * * @return array> */ public static function all(): array { $rows = get_option( self::OPTION, array() ); return is_array( $rows ) ? $rows : array(); } /** * Clears the list. */ public static function clear(): void { delete_option( self::OPTION ); } }