iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
The safe way to edit a WordPress child theme with FileZilla is to download each file, change the local copy in a code editor, and upload it back to the identical path only after saving a backup. Connect with the hosting account’s FTP or SFTP credentials, open the WordPress installation’s wp-content/themes directory, select the child-theme folder, and work only there. Child-theme files remain in place when the parent theme is updated, but a bad PHP edit can still take the site down, so every change needs a recoverable copy and a test plan.
What a child theme is—and why the folder matters
A child theme is an extension of a parent theme. WordPress loads the child so you can add CSS, templates, and PHP without modifying the parent’s files. That separation is what protects your customizations when the parent receives an update: the update replaces files in the parent directory, not files in the child directory.
Free tools Windows power users keep installed
One-click scans. No signup required.
FTP does not tell WordPress that a folder is a child theme. WordPress identifies the relationship from the child’s root-level style.css header. The child stylesheet must be directly inside the child-theme directory, and its Template value must exactly equal the parent theme’s directory slug, including capitalization where the slug uses it.
/*
Theme Name: My Child Theme
Template: parent-theme-folder
*/
For example, if the parent is in wp-content/themes/bluepress, the child header must contain Template: bluepress. A display name such as “BluePress” is not a substitute for the folder slug. Keep the parent and child as separate sibling directories:
#1 Best Overall
wp-content/
└── themes/
├── bluepress/ (parent)
└── bluepress-child/ (child)
├── style.css
├── functions.php
└── ...
WordPress Developer Resources describes child themes as “extensions of a parent theme.” That distinction is practical: edit the child for your custom work, inspect the parent when you need to understand how a template or stylesheet is loaded, and never treat the child as a complete copy of the parent.
What you need before opening FileZilla
Hosting credentials and the right protocol
Ask your host for the connection details rather than guessing them. You normally need the host name, username, password or private key, port, and the protocol the account permits. SFTP is preferred when available because it carries the session through SSH; standard FTP sends credentials and data without the same transport encryption. Some hosts expose FTP over TLS, often labeled explicit FTP over TLS or FTPS. Select the protocol your host documents, not merely the one that happens to connect.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →- Host: the server name or address supplied by the host.
- Port: use the host’s stated port; do not assume the default if the account uses a custom one.
- Logon type: normal credentials, a key-based method, or another option required by the host.
- Remote root: some accounts open directly in the web root, while others open one level above it.
Use a dedicated hosting account or key with the least access that still allows the theme edit. Do not paste credentials into a public document, and remove saved credentials from a shared computer after the work is complete.
A local working folder and editor
Create a local folder for the project before downloading anything. Use a plain-text or code editor, not a word processor: word processors can insert formatting characters that invalidate CSS or PHP. Keep the original download untouched, and make a second copy for each change or label files with a date and purpose so you can identify the last known-good version.
A maintenance and testing plan
Editing a production site is safest during a low-traffic period or on a staging copy. Know which page should change, how to open it while logged out, and how to clear any page, object, or browser cache used by the site. If the change is PHP, arrange a second way to reach the server before uploading it; the WordPress dashboard may become unavailable if the file has a syntax error.
Rank #2
- Used Book in Good Condition
Connect to the site in FileZilla
- Open FileZilla and choose File > Site Manager. Create a new site entry so the connection details are stored separately from the Quickconnect fields.
- Enter the host, protocol, port, and logon method supplied by the host. For SFTP, select SFTP – SSH File Transfer Protocol; for another protocol, select the exact option the host specifies.
- Connect and read the message log. A successful login should be followed by a remote directory listing. If authentication fails, stop and correct the host, port, username, password, key, or protocol instead of repeatedly retrying.
- In the left pane, choose the local working folder you created. In the right pane, inspect the remote directory tree and locate the WordPress installation.
The remote pane may open in a home directory rather than the site’s web root. Common web-root names include public_html, www, htdocs, or a domain-specific directory, but the correct name depends on the host. Open folders until you can see WordPress directories such as wp-admin, wp-includes, and wp-content. Then open wp-content, followed by themes.
Do not edit a similarly named backup, staging, or old-domain directory by accident. Confirm the path by checking that the directory contains the active site’s themes and that the domain you intend to change is the one represented by the hosting account.
Identify the child-theme directory and verify its files
Find the active child theme
Inside wp-content/themes, each subdirectory is a theme. The child directory often has a name ending in -child, but that suffix is only a convention. Open candidate folders and look for a root-level style.css containing a Theme Name and Template header. You can also confirm the active theme in WordPress under Appearance > Themes; the name shown there should correspond to one of these directories.
Check the required stylesheet header
Download the child’s style.css and inspect the first comment block. The file can contain CSS after the header, but the header must remain at the top and the Template value must match the parent folder exactly.
/*
Theme Name: Storefront Child
Theme URI: https://example.invalid/
Description: Customizations for the Storefront parent theme
Author: Site team
Template: storefront
Version: 1.0.0
*/
The example’s URL is illustrative; replace it only with a real value or omit optional fields. The important relationship is Template: storefront when the parent directory is named storefront. If the header points to a nonexistent directory, WordPress cannot establish the parent relationship correctly and the child may not appear or may behave as an independent theme.
Recommended Free Tools
The safe FileZilla edit cycle
Use the same cycle for CSS, PHP, templates, images, and configuration files. It makes the remote path visible and gives you a recovery point.
- Record the remote path. Write down the full path shown by FileZilla, such as
/public_html/wp-content/themes/storefront-child/functions.php. The destination must be identical after editing. - Download before editing. Right-click the remote file and choose Download. FileZilla places it in the selected local folder. Keep this untouched download as the immediate rollback copy.
- Make a working copy. Duplicate the download locally and give the copy a meaningful name or commit it to your normal version-control workflow. Never begin by editing the only copy.
- Edit as text. Preserve the existing encoding and line endings unless you have a specific reason to change them. Do not add smart quotes, rich-text formatting, or a closing PHP tag merely for appearance.
- Validate locally. Check braces, parentheses, semicolons, CSS selectors, and the relative path of any template override. For PHP, run a syntax check in a suitable local PHP environment when one is available.
- Upload to the same remote directory. Drag the edited file to the remote pane or right-click the destination and choose Upload. When FileZilla asks whether to overwrite, confirm the path and keep the local file as the source.
- Read the transfer result. Check the Successful transfers and Failed transfers tabs. A queued or failed transfer is not a completed deployment. If it fails, correct the permission or connection problem before testing the site.
- Test immediately. Open the affected page, check a second page that uses the same code, and inspect the browser’s developer console when the change is visual. For PHP, test both the front end and an administrative screen you normally use.
After a successful test, retain the previous file and the new file together until you are certain the change is safe. A backup is useful only if you can identify it and upload it to the original location quickly.
Edit the child theme’s style.css
Keep metadata separate from CSS rules
Leave the identifying comment at the top. Add your rules below it, or below any existing rules maintained by the child theme. Use specific selectors sparingly: a selector that is too broad can change widgets, forms, or editor output unintentionally.
/* Keep the required header above this line. */
.site-header {
background-color: #123456;
}
.site-header a {
color: #ffffff;
}
Use the browser’s inspector to identify the element and to see which parent rule wins. If the parent rule has greater specificity, improve the selector carefully rather than adding !important everywhere. After uploading, clear the relevant cache and perform a hard reload so you are not evaluating an old stylesheet.
Confirm that the child stylesheet is loaded
Stylesheet loading is theme-dependent. Some parent themes automatically load the child stylesheet; others expect the child to enqueue it. Inspect the parent theme’s documented or existing enqueue logic instead of assuming one universal pattern. If the child stylesheet is not requested by the page, add an enqueue in the child’s functions.php using wp_enqueue_style() on the appropriate hook for that theme.
Rank #4
<?php
function site_child_enqueue_styles() {
wp_enqueue_style(
'site-child-style',
get_stylesheet_uri(),
array(),
wp_get_theme()->get('Version')
);
}
add_action('wp_enqueue_scripts', 'site_child_enqueue_styles');
Do not add this blindly if the parent already enqueues the child; duplicate loading can make debugging harder. Check the page source or browser network panel for the child stylesheet before changing the enqueue behavior.
Override a parent template without editing the parent
To override a parent template, copy the file into the child using the same filename and relative path. If the parent contains wp-content/themes/parent-theme/template-parts/content.php, the child override belongs at wp-content/themes/child-theme/template-parts/content.php. Upload only the child copy; leave the parent untouched.
Preserve the directory structure
A file placed in the child root does not override a file that lives in a parent subdirectory. Recreate every required directory in the child. The same principle applies to supported template parts, block templates, and patterns: follow the parent’s relative location and the conventions of the theme version you are running.
Compare after parent updates
A parent update can change the template that your child override was based on. The override will continue to take precedence, but new markup, accessibility fixes, or security changes in the parent will not automatically appear in your copy. Keep notes about which parent version the override came from and review the updated parent template before merging relevant changes into the child.
Add PHP safely in functions.php
The child and parent functions.php files are additive. WordPress loads the child file immediately before the parent file; the child file does not replace or override the parent file. WordPress’s Theme Functions handbook states: “Although the child theme’s functions.php is loaded by WordPress right before the parent theme’s functions.php, it does not override it.”
Best Value
Put child-specific hooks and functions in the child file, and do not copy the parent’s entire file. Copying it can redeclare functions or classes and produce a fatal error. Prefix custom names so they do not collide with the parent, plugins, or WordPress itself.
<?php
function itg_child_register_assets() {
// Register or enqueue child-specific assets here.
}
add_action('wp_enqueue_scripts', 'itg_child_register_assets');
Use a unique prefix such as itg_child_ for functions and a matching namespace convention for classes. Add one change at a time, upload, and test. A missing semicolon, unmatched brace, duplicate declaration, or call to a function unavailable in the current WordPress or PHP version can prevent the site from rendering.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Where PHP changes belong
- Child
functions.php: hooks, filters, enqueue logic, and other theme-specific behavior. - Template override: markup changes that belong to a particular page, post, archive, or template part.
- Plugin: functionality that should survive a theme change, such as a custom post type or site-wide integration.
Keeping site-wide functionality out of the theme reduces the damage caused by switching themes and makes future maintenance clearer.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Activate and test the child theme
- In WordPress, open Appearance > Themes and confirm the child theme is installed and associated with the intended parent.
- Activate the child theme if it is not already active. Activating a child does not erase the parent; the parent remains available as its base.
- Open the exact page affected by the edit in a private browser window or while logged out. Check desktop and mobile layouts when the change is visual.
- Test a page that uses a different template, plus a normal administrative action if you changed PHP. Look for a blank page, error message, broken navigation, missing styles, or unexpected layout shifts.
- Clear only the caches needed to expose the new file, then verify again. If the browser requests an old CSS file, inspect cache headers or the site’s caching layer rather than repeatedly uploading the same file.
Recover when a PHP edit breaks the site
Restore the known-good file through FTP
Reconnect in FileZilla, open the exact remote path, and upload the untouched backup over the broken file. Confirm the overwrite and check the transfer result. Reload the site after the transfer completes. This is why downloading the original before editing is a required step, not an optional courtesy.
Use a temporary theme-folder rename when the dashboard is unavailable
WordPress documents renaming a broken theme directory through FTP as a fallback that can force WordPress to use another available theme. In FileZilla, rename the active child folder to a temporary name such as storefront-child-disabled. WordPress may fall back to another installed theme, allowing you to regain access and repair or restore the child files. Rename the directory back only after the files are known to be valid, and remember that the original child theme may no longer be active during the fallback.
Distinguish syntax errors from transfer and permission errors
- Blank page or PHP fatal-error message: restore the last good PHP file, then correct syntax or incompatible code locally.
- FileZilla reports permission denied: verify that you are in the correct site directory and that the FTP account is allowed to write there; do not change permissions broadly without the host’s guidance.
- The upload succeeds but nothing changes: confirm the remote path, filename capitalization, active child theme, and caches.
- The child theme disappears from Themes: inspect the root-level
style.cssheader, especially theTemplateslug and comment formatting. - Only one template is wrong: compare the child override’s filename and relative path with the parent’s current file and check for a parent update that changed its markup.
FTP editing compared with the dashboard editor and deployment workflows
| Approach | Local backup and review | Recovery if PHP breaks | Path visibility | Credential or security considerations | Repeatability across staging and production |
|---|---|---|---|---|---|
| FileZilla FTP or SFTP | Strong when you download first and keep dated copies or version control. | Upload the known-good file directly; a dashboard outage does not prevent FTP access. | Explicit remote directories and filenames are visible. | Protect credentials or keys; prefer SFTP or encrypted FTP options provided by the host. | Manual unless you pair it with version control and a documented checklist. |
| WordPress Theme File Editor | Limited unless you create a separate copy first. | Riskier because a PHP mistake can lock you out of the dashboard; FTP restoration may still be required. | Shows theme files in WordPress, but not the complete server directory context. | Anyone with sufficient dashboard access can edit live code; restrict access appropriately. | Weak for repeatable staging-to-production changes. |
| Deployment workflow | Strong when changes are tracked in version control and reviewed before release. | Rollback can be systematic, but it requires a working deployment and recovery process. | Defined by the repository and deployment configuration rather than ad-hoc browsing. | Uses managed keys, roles, and deployment secrets; setup is more involved. | Best for repeatable releases across staging and production. |
For a one-off child-theme adjustment, FileZilla’s visible path and downloadable backup are practical advantages. For recurring work or several people, move the child theme into a version-controlled deployment workflow and keep FTP as a recovery channel rather than the primary release process. The dashboard editor is convenient for a tiny change but offers the weakest safety margin when PHP is involved.
A pre-upload and post-upload checklist
Before uploading
- Confirm the active domain, child-theme directory, and full remote path.
- Download the original file and store it outside the working copy.
- Check that
style.cssremains in the child root and that itsTemplatevalue matches the parent slug. - Use a plain-text editor and preserve valid PHP and CSS syntax.
- For template work, reproduce the parent file’s relative path in the child.
- For PHP, use a unique prefix and add only the required code.
- Know how to reconnect with FileZilla if the dashboard stops responding.
After uploading
- Verify FileZilla reports a successful transfer, not a queued or failed item.
- Confirm the file’s timestamp, size, and remote location if the host displays them.
- Test the changed page and at least one unaffected page.
- Check both logged-in and logged-out views when permissions or conditional hooks are involved.
- Clear relevant caches only after confirming the correct file is on the server.
- Keep the backup and change notes until the result has remained stable.
How to make future edits repeatable
Use a small change log recording the date, file path, reason, parent-theme version, and rollback file. Store the child theme in version control when possible so each modification can be reviewed and reverted. Develop on staging, test the exact URLs and user roles affected, and deploy the tested files to production in a controlled step. Continue to inspect parent-theme updates because a child protects your files from being overwritten but does not automatically reconcile changed parent templates, hooks, or asset-loading behavior.
The core discipline is simple: identify the child by its folder and header, download before editing, upload to the same path, verify the transfer, and keep an immediate rollback. That process lets FileZilla provide the control and recovery that live dashboard editing lacks while preserving the main benefit of a child theme—custom work that survives parent updates.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

