Google March 2026 core update: What you need to know and how to adapt
The Google March 2026 core update began rolling out March 27. Learn what changed, which sites are affected, how AI Overviews...







WordPress powers roughly 43% of all websites on the internet. That scale means millions of site owners need to customise themes regularly, and many of them do not have FTP credentials. Whether you are on managed hosting that locks down server access, or you simply cannot get FTP details from your host, you have practical options.
This guide covers every realistic method for creating a new WordPress theme file without FTP. You will learn which approach fits your setup, what can go wrong with each one, and how to protect your work so it survives future theme updates.
Before you create a single new theme file, check whether you are working inside a child theme. If you add files directly to a parent theme, a theme update will delete them. Every theme file you create should live inside a child theme. This one step protects every change you make, regardless of which creation method you use.
A child theme inherits the design and functionality of its parent. You add only the files and code you want to change. When the parent theme updates, the child theme stays untouched.

You do not need FTP to get a child theme running. Here is the fastest method:
style.css. Open it and paste this at the top, replacing the values with your own details:/*
Theme Name: Astra Child
Template: astra
*/Template: value must exactly match the parent theme's folder name on the server. You can confirm the folder name by checking Appearance > Themes in your dashboard..zip file.Appearance > Themes > Add New > Upload Theme..zip file and activate the child theme.Your child theme is now active. Every new file you create belongs in this directory, not the parent.
"The first thing we do on any client WordPress build is set up a child theme before touching a single file. It takes five minutes and saves hours of rework after a theme update wipes custom code."
Derick Do, Co-Founder & Chief Product Officer, Launchcodex

The WordPress Theme File Editor lets you view and edit theme files directly from your dashboard at Appearance > Theme File Editor. You can use a PHP workaround to create new files here without any external tools. This method works on any self-hosted WordPress site where the editor is enabled and you have administrator access.
The Theme File Editor shows the files in your active theme on the right side of the screen. It does not include a "new file" button. Instead, you use PHP's touch() function to generate a new blank file, then remove the code immediately after.
Appearance > Theme File Editor in your dashboard.header.php in the file list on the right.YOUR_THEME_DIR with your child theme's folder name and page-contact.php with the file name you want to create:<?php touch(ABSPATH . 'wp-content/themes/YOUR_THEME_DIR/page-contact.php'); ?>Update File to save.touch() line you added. Save the file again.This method was documented by LittleBizzy and confirmed across multiple WordPress developer resources.
touch() line regenerates the file every time a visitor loads your homepage until you remove it. Remove it immediately after the file is created.If you cannot find the Theme File Editor under Appearance, the editor has been disabled. This is intentional on most managed hosting environments and security-hardened sites. It is not a bug. You need to identify the cause before you can re-enable it or choose an alternative method.
Three common causes exist.
Jeff Starr, author of Digging Into WordPress, explains that adding define('DISALLOW_FILE_EDIT', true); to wp-config.php disables the Theme File Editor for all users, including administrators. No menu item appears.
To check: access your wp-config.php file via cPanel File Manager or a file manager plugin. Search for DISALLOW_FILE_EDIT. If it is set to true, change it to false and save. The editor will reappear.
Wordfence, Sucuri, and Solid Security all include an option to disable the Theme File Editor as part of their hardening features, as confirmed by WPBeginner's December 2024 guide. Check each plugin's settings panel:
Wordfence > All Options > Advanced Firewall OptionsSucuri Security > Settings > HardeningSecurity > Settings > WordPress Tweaks > File EditorSG Security > Site Security > Disable Themes & Plugins EditorToggle the relevant setting off. Reload the dashboard to confirm the editor reappears.
Hosts like WP Engine, Kinsta, and Pressable disable the Theme File Editor at the server level as a standard security measure. Re-enabling it may not be possible without a support request. In that case, the file manager plugin approach below is the right path forward.
A file manager plugin gives you a full graphical interface for creating, editing, uploading, and renaming files directly from your WordPress dashboard. This method works even when the Theme File Editor is disabled and does not require FTP or cPanel access. It is the most reliable no-FTP option for most setups today.
The WP File Manager plugin powers over 1 million active websites, which reflects how widely this approach has been adopted. Three strong options exist:
| Plugin | Best for | Key strength | Watch out for |
|---|---|---|---|
| Filester (File Manager Pro) | Most users | Fully free, ACE code editor, drag and drop | Requires careful permission settings on multi-user sites |
| WP File Manager | Teams and agencies | 1M+ installs, proven stability, role control | Premium extensions add cost |
| Advanced File Manager | Developers | AI code assistant, access outside root directory | More settings to configure |
One WordPress developer reviewing Filester wrote: "I'm a WP dev working on a site without FTP and this is invaluable. It provided a proper text-editor-like experience and did not have any problem editing files with its ACE editor."
Plugins > Add New and search for "Filester". Install and activate it.File Manager menu item will appear in your dashboard sidebar.wp-content > themes > your-child-theme-folder.New File.page-contact.php. Confirm.<?php
/*
Template Name: Contact Page
*/The file is now live in your child theme directory. WordPress will detect it automatically when you assign the template to a page.
File manager plugins require the same caution as the built-in editor. Restrict access to administrator roles only in the plugin settings. Limit which directories the plugin can browse if the option is available. Remove or disable the plugin when you no longer need it on the live site.
"On managed hosting like WP Engine or Kinsta where FTP is restricted, Filester is the tool we reach for first. It gives the team full file access from the dashboard and cuts setup time significantly on client sites."
Eric Bledsoe, VP Engineering, Launchcodex

If your hosting provider gives you access to cPanel, you can create and edit theme files directly from the hosting panel without installing any WordPress plugins. This is a reliable fallback when you have hosting panel credentials but no FTP client or dashboard file manager.
Most shared and managed hosting providers include cPanel or a similar panel such as DirectAdmin or hPanel. The file structure is the same regardless of which panel your host uses.
File Manager.public_html > wp-content > themes > your-child-theme-folder.New File in the toolbar.page-services.php. Confirm.Edit.No plugin required. The file appears in your WordPress theme directory immediately.
The correct method depends on your access level and hosting environment. Use this decision framework before you begin.
| Your situation | Recommended method |
|---|---|
| Dashboard editor is visible and accessible | Theme File Editor with touch() workaround |
| Editor is disabled by security plugin or wp-config.php | Fix the setting, then use the editor OR use a file manager plugin |
| On managed hosting with no editor access | File manager plugin (Filester recommended) |
| Have cPanel access but no plugin option | cPanel File Manager |
| Working on a production site | Use a staging environment first, then deploy |
If you are on a production site, create a staging copy before editing any live files. Most managed WordPress hosts offer one-click staging. Make the changes there, test them, then push to live. This avoids downtime from a code error.
Even with the right method in place, specific errors cause problems. Here are the five most common ones and how to avoid them.
touch() snippet in header.php. If you forget to remove it, the file regenerates on every page load. This blocks you from saving any content to the file permanently.page_contact.php with an underscore will not behave the same as page-contact.php with a hyphen. Follow the naming convention exactly./* Template Name: Your Template Name */. Without it, WordPress will not detect the file as a selectable template.You now have three working methods. Use the Theme File Editor if it is accessible and you need a quick, no-install solution. Use a file manager plugin like Filester if the editor is locked down or if you want a reliable, repeatable workflow. Use cPanel File Manager if you have hosting panel access and want to avoid adding another plugin.
Before any of these methods applies, confirm you are working inside a child theme. That single step separates a safe customisation workflow from one that resets with every theme update.
If you are managing WordPress customisations across multiple client sites and want a faster, more structured process for deploying theme changes, the Launchcodex web development team builds and maintains WordPress environments with proper staging, deployment pipelines, and theme management built in.
Install a free file manager plugin like Filester from the WordPress plugin directory. Navigate to your child theme folder, right-click, and create a new file. Name it according to the WordPress template hierarchy and add your PHP code. This method works even when the built-in Theme File Editor is disabled.
Three causes are common: the DISALLOW_FILE_EDIT constant is set to true in wp-config.php, a security plugin such as Wordfence or Sucuri has disabled it as part of hardening, or your managed hosting provider has turned it off at the server level. Check wp-config.php first and then check your active security plugin settings.
Yes, if you want your files to persist. Files added directly to a parent theme are deleted every time the theme updates. A child theme protects your custom files from updates. Create a simple child theme first, then add all custom template files inside it.
touch() is a native PHP function that creates an empty file at a specified path when it runs. WordPress developers use it as a workaround to create new theme files via the built-in Theme File Editor, since the editor does not have a native "new file" button. You add the touch() line to header.php, load the homepage to trigger it, then remove the line immediately. The new file remains on the server.
Yes. Log into your hosting control panel, open File Manager, and navigate to wp-content/themes/your-child-theme. Create a new file from there, name it correctly, and add your PHP code using the built-in editor. This method requires hosting panel credentials but no additional WordPress plugins.
The WordPress Theme File Editor has no undo functionality. A syntax error, such as a missing PHP closing tag or a misplaced bracket, can cause a white screen and lock you out of both the front end and the dashboard. Back up your site before editing any live files. If you do cause a white screen, use cPanel File Manager or an FTP client to access and fix the broken file directly.



The Google March 2026 core update began rolling out March 27. Learn what changed, which sites are affected, how AI Overviews...
Value-based bidding tells Google Ads how much each conversion is worth so the algorithm spends more to win the customers who...
A staged, practical guide mapping RAM, vCPU, and storage requirements to four website growth stages. Includes specific bench...


