Adding custom code to WordPress can improve features, but editing core files directly creates upgrade risk. Use a safer workflow so updates do not break your site.
Recommended approach
- Use a staging site first.
- Back up database + files.
- Add snippets in a controlled location (custom plugin or snippets plugin).
- Test with debug logs enabled.
Option 1: Create a small custom plugin (best long-term)
mkdir -p wp-content/plugins/site-customizations
nano wp-content/plugins/site-customizations/site-customizations.php
<?php
/**
* Plugin Name: Site Customizations
*/
add_action('init', function () {
// Custom hooks here.
});
Activate it in wp-admin, then add snippets there instead of theme files.
Option 2: Use functions.php in a child theme
If you must use theme functions, use a child theme so updates do not overwrite your code.
Debug safely
Enable logs in wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Quality checklist before production
- No PHP warnings in debug log
- No REST API/editor regressions
- Page cache and object cache cleared
- Rollback plan ready
A disciplined snippet workflow prevents most avoidable outages on production WordPress sites.
Validation Commands
php -v
sudo systemctl status mysql
sudo tail -n 80 /var/log/mysql/error.log
Further reading: PHP Installation and Configuration
Related posts: