Wigginton, Cardinals agree to $5M, 2-year contract