Admin Custom Login loses settings on Code and Data migration

Most plugins store their settings in the database. So whenever you push code from one site to another, you need to at least push the plugin-specific data along with your files.

You could hire a developer to determine where the plugin is storing data, or if you’re comfortable using phpMyAdmin, you can use that and also browse through the plugin files themselves. Some plugins create their own custom tables, in which case, you can probably copy just that table from staging to prod and vice versa. But keep in mind there may be relative data, such as user IDs, that will also have to be identical between the two databases in order for things not to break.

Another option would be to copy your Production site to Staging each time you want to make changes in the plugin. Have a freeze on Production (there are plugins available to accomplish this, or you can temporarily demote all of your users to Subscribers so they have no power to make changes) so that while you’re working, no one can make changes to either the files or the database. Test things out on Staging, make sure all looks good, and you can then push from Staging to Prod and then unlock the freeze (either disable the site-freeze plugin or promote your users back to their normal roles).