I have a developer working on customizations to my Woocommerce store. He is using plugins such as ACF pro ( advanced custom fields pro) among other plugins to get get data and basically bring it from those fields to another and display it on my page. He told me that if I disable ACF pro at any point it will crash the site and my question is does that make sense for best practices for customizations of a plugin, should they be using native functions of this plugin and is it normal that disabling it should ever crash the site? This is what he said: disabling ACF will crash the site because there are native functions on these plugins that we are using. For example, our child theme uses the function get_field() that is in the ACF, disabling the ACF will cause all scripts using this function to crash. There is no reason to disable ACF on the live site as it will only cause issues as the coding now relies on it running." Any feedback would be helpful I don't know much about wordpress coding but breaking the site by disabling any plugin seems like a red flag. Thanks
No, it shouldn't. It's perfectly possible to use these plugin functions in such a way that if the plugin is deactivated the site won't crash. The functionality of the plugin will cease to work though, so the custom fields etc. will not appear, but the site should otherwise continue to function.
This can be accomplished by checking
function_exists() before using any plugin function. If a function or template uses the plugin's function a lot, you could just check if the function exists at the top of the template/function and exit early if it doesn't.