Starter solenoid doesn't engage when temperature is below freezing

Could be anything from the ignition switch to the battery, but as said above, tis symptom is usually associated with needing a new starter (or installing new starter selenoid contacts on the existing starter). But before removing the starter, the voltages at both starter terminals (thick and thin wire) should be measured during attempted cranking. If either is below 10 volts, the problem may be elsewhere in the electrical system, and replacing the starter won’t help. Ask your mechanic to do the measurement. If you post those voltages, folks here can offer further opinions.