How to Add & Edit Code in WordPress (HTML, CSS, PHP)

One of the main draws of using WordPress is that you can build websites without touching a line of code, but you still have the full freedom to edit source code if you wish. 

If you know how to add code to WordPress safely, you can change your website design and functionality to make your work a lot easier. What type of code you decide to insert is up to you. In WordPress, you’ll usually deal with HTML, CSS, and PHP.

In this article, we’re going to tell you what to do before you start adding and editing code in WordPress. Then we’ll show you how to insert HTML, CSS, and PHP into your website. We’ll cover multiple approaches to adding and editing code for each language.

What to do before you edit code in WordPress

Editing existing code within your site’s core files or making additions to them always carries a risk. If there are errors or you break existing functions, your website might stop working.

It’s possible to fix a website with errors in its code. But unless you have development experience, narrowing down the exact code that’s causing problems can be a challenge. 

With that in mind, we recommend that you take several steps to secure your website before you start adding or editing code. Think about this process as creating a safe environment to avoid problems down the road.

1. Back up your website

No matter the type of site you have, backups are absolutely critical. Why? Because if something goes wrong — a hack, plugin conflict, or code error — you can simply restore a recent backup to get your site up and running again.

In other words, backing up your site is the best way to protect your website if anything goes wrong.

To make this process easy, it’s best to use a plugin to automatically take care of everything or generate copies of your website on demand. 

Of course, we recommend Jetpack Backup — a complete solution that works in real-time.

Jetpack Backup homepage

With Jetpack, backups are securely stored off-site in the cloud, so there’s no load on your server. And since a backup is taken every single time something changes on your site, you can quickly restore one from right before an error occurred, even if your site is completely offline. 

If you choose to use another backup plugin, however, we recommend taking a full manual backup before continuing with the steps below.

2. Use a WordPress child theme

This measure only applies if you plan to edit your theme. WordPress enables you to make any changes that you want to any theme’s code, but when you update to a new version of a theme, any customizations will be lost.

To prevent this, you’ll need to use a child theme. A child theme is a secondary theme that pulls in features, functionality, and styles from its parent theme, but that doesn’t change when you update the parent. This means that the code you add to the child theme won’t be erased when you update the parent theme.

While you can create child themes manually, we recommend using a plugin instead. One of the best tools for the job is Child Theme Configurator.

Activate the plugin and go to ToolsChild Themes. Select the option to create a new child theme and select your current theme as the parent.

initial settings for creating a child theme

Click on Analyze, and the plugin will check to see if it can create a child theme for your selection. Under Select where to save new styles, choose the Primary Stylesheet option. 

For the Select Parent Theme stylesheet handling option, click on Use the WordPress style queue.

choosing additional child theme options

You can also customize the child theme’s attributes. These include the name, author, and description that will appear when you navigate to Appearance → Themes.

choosing attributes for the child theme

The attributes you choose are for internal use only. Once you’re happy with the settings, click on Create New Child Theme. 

If you navigate to Themes → Appearance, the new child theme should appear among the available themes.

child theme in the list of WordPress themes

Once the child theme is set up, you can start adding custom code to it. If you’re not sure how that process works, keep reading. We’ll show you how to edit CSS and HTML in WordPress in the following sections.

3. Use a staging website

The entire purpose of a staging website is to help you test new code and changes to your site in a safe environment. With a WordPress staging site, you can add code without having to worry about critical errors or downtime on your live website.

Typically, your web host will offer staging functionality. There are several options for WordPress staging plugins, but they can be a bit awkward to use. If you can access staging functionality through your hosting control panel, it will be much easier to create copies of your site and push changes from staging to production.

How to edit HTML, CSS, and PHP code in WordPress (10 methods)

Learning how to edit code in WordPress is much easier than you might think. Still, the process will change depending on which type of code you want to use. Let’s start by talking about adding HTML using the Block and Classic Editors.

1. How to edit HTML in the WordPress Block Editor

This method allows you to edit any existing page or post using HTML within the Block Editor. It’s a straightforward method that shouldn’t pose any issues if you’re familiar with the Block Editor. 

To get started, open the editor. Once you can see the body of the page or post, click on the three-dot icon in the top-right corner of the screen.

clicking the three-dot icon to find the code editor

Now click on the option that says Code editor.

switching to the Code Editor in WordPress

The view in the body of the editor will switch from blocks to code. For each block, you’ll see a different section of HTML code.

HTML code for a block in WordPress

Keep in mind that WordPress code editors don’t include any highlighting functionality. That means all code will appear as plain text. You’ll need to read carefully if you want to change or add to it. 

You can switch back and forth between the visual and code interfaces in the Block Editor. When you’re happy with the results, save the changes to your post or page.

2. How to edit HTML in the Classic Editor

Editing HTML code using the Classic Editor is straightforward. Open the page or post that you want to work on and locate the Text tab above the body of the document. 

editing HTML using the classic editor in WordPress

Click on the Text tab, and you’ll see the contents of the Visual tab appear in plaintext format. By default, any text that you add without formatting won’t include any HTML code.

You can quickly add formatting and HTML code using the buttons at the top of the editor. The Classic Editor includes options for bold or italicized text, links, images, lists, and other types of code.

There’s also the option of adding HTML code manually. If you’re familiar with HTML, you can insert or edit it within the Text tab as you wish. The editor enables you to switch back and forth between the Visual and Text tabs to see the results.

3. How to edit HTML using the Theme Editor

WordPress lets you access and edit theme files directly from your dashboard. But if you plan on editing theme files, we recommend setting up a child theme beforehand. 

To access the theme editor, go to Appearance → Theme file editor. On the next page, you’ll see a plaintext editor to the left and a list of files to the right. That list of files corresponds to the theme that you choose from the top-right dropdown menu.

editing style.css with the theme file editor

By default, the theme editor will open with the Style.css file for the theme you’re working on. Most of the theme files you can access using the editor involve either CSS or PHP. But you can edit several theme components using HTML.

However, in most cases, child themes only pull in the style.css and functions.php files by default. So if you want to edit an HTML file, like footer.html, you’ll need to copy it over to the child theme before making any changes using a file transfer protocol (FTP) tool or your hosting provider’s control panel. 

Using your tool of choice, go to public_html → wp-content → themes → your parent theme. Find the HTML file you want to edit and copy it to your child theme’s folder. Then, that file will be visible in the WordPress Theme Editor.

You can find your HTML files in the Theme Editor by selecting your child theme from the dropdown at the top right of the page, then clicking on the file from the list that appears.

the footer.html file in the theme editor

We recommend not making any changes when you’re editing theme files unless you precisely understand what your code does. Otherwise, you risk breaking critical features within the theme and your website. 

4. How to edit CSS and PHP in the Theme Editor

To access the WordPress theme editor, go to Appearance → Theme file editor. You’ll see a list of the files that you can edit for your active theme on the next screen. To the left, you’ll see an editor tab displaying the contents of the file that you select.

By default, the theme editor will open to a stylesheet. The style.css file will contain all the CSS stylings for the theme. These include classes, IDs, button styles, and much more.

You can make any changes that you want to the style.css file. When you’re done, click Update File to save the changes.

That same process applies to PHP files. Select the .php file that you want to edit using the menu to the right. In this example, we’re editing the functions.php file.

editing the functions.php file in the theme editor

Editing PHP code can be more delicate than working with HTML or CSS. With the latter, if you make an error, it can affect your website’s styling. In contrast, PHP code that doesn’t work can lead to broken functionality.

5. Editing HTML in a WordPress widget

As you may know, recent versions of WordPress enable you to edit widgets using blocks. That means instead of classic widgets, you can use the full suite of Block Editor elements in your widgetized areas.

To edit your widget areas, go to Appearance → Widgets. Here, you’ll be able to edit the available widget sections for your theme.

adding widgets to the WordPress footer

Some blocks can add custom HTML to your widget areas. Click on the plus sign button next to the Widgets heading and select the Custom HTML block.

adding the custom HTML block in WordPress

Add the code you want within the block and move it around to change its placement. When you’re done, click on the Update button in the top-right corner of the screen.

6. Editing HTML through cPanel

If your web host offers a cPanel installation for your account, you can use it to manage and edit your website’s files. 

To get started, log in to your cPanel account and look for the File Manager option under FILES.

finding the File Manager in cPanel

The File Manager enables you to navigate your hosting account’s files. Depending on your server’s structure, you might find yourself facing several folders. 

Look for the option that says public_html or www. Those directories should contain your WordPress site’s files.

finding the public_html folder in cPanel

This is called the WordPress root directory. Once you open it, you’ll find several subdirectories and files corresponding to your WordPress website. If you right-click on any of these files, you’ll see an Edit option.

editing a file in cPanel

Clicking on that option will launch the cPanel text editor. This editor is very barebones compared to any software installed locally. We only recommend that you use it to make minor HTML edits.

For more complex code updates, you’ll want to use File Transfer Protocol (FTP) and a local text editor. We’ll show you how to do that in the next section.

7. Editing HTML, CSS, and PHP using FTP

FTP enables you to connect to your website’s server so you can edit and upload files. With FTP, you can easily upload large numbers of files. This process would be time-consuming and difficult if you tried to do it directly through the WordPress dashboard.

More importantly, FTP can edit WordPress files and add HTML, CSS, or PHP code using any local text editor of your choice. 

To connect to your website via FTP, you’ll need a client (like FileZilla) and a set of credentials. Most web hosts provide you with FTP credentials at signup. If not, you should be able to create a new FTP account through the hosting control panel.

finding FTP credentials for the server

Enter your FTP credentials into your preferred FTP client and connect to the server. Once you establish a connection, you’ll see a list of folders and files.

With an FTP connection, you get full access to every file and folder within your account. To find your WordPress files, look for the directory called public, public_html, or www. Those are the most common names for the WordPress root directory.

list of all files viewed in Filezilla

Open the directory and locate the file that you want to edit. Right-click on it and select the option that says Edit. In these examples, we’re using FileZilla, so the menu reads View/Edit.

editing a file using Filezilla

The View/Edit option will open the file using your local default text editor. Unlike cPanel or WordPress, dedicated editors make adding and interacting with code much easier. 

In this example, we’re editing wp-config.php, which is a WordPress core file.

editing a file using a local tool with highlighting capabilities

You can add or edit any type of code that you want using a text editor. That includes HTML, CSS, and PHP. The only limitation is your knowledge of each particular language.

Once you finish adding or editing WordPress code, save the changes to the file and close it. Your FTP client will ask if you want to override the existing version of that file on the server. Select Yes, and that’s it.

8. Adding CSS classes using the Block Editor

If you want to use CSS to customize the appearance of blocks, the Block Editor lets you add classes to any element. This process is also very straightforward. 

To add CSS classes to a block, click on it and open the Settings tab. Then, look for the Advanced tab at the bottom of the block settings.

adding a class to an image block in the Editor

You can use the Additional CSS class(es) field to add one or more CSS classes to any specific block. The effect those classes will have depends on the WordPress custom CSS that you add.

9. How to edit CSS in the WordPress Customizer

The WordPress Customizer can make sitewide changes to your website’s style and layout through a visual interface. 

To access the Customizer, go to Appearance → Customize. On the next screen, you’ll see a menu to the left and a preview of your site to the right.

the WordPress customizer with settings

The Additional CSS tab will give you access to a basic editor to add custom CSS to your website.

the Additional CSS area of the WordPress Customizer

Adding CSS using the WordPress customizer lets you preview the changes instantly. 

10. Editing CSS using a WordPress plugin

Some WordPress plugins offer alternative methods for adding custom code to WordPress. In most cases, these plugins focus on helping you add WordPress custom CSS or JavaScript. 

One example is Simple Custom CSS and JS. This particular plugin can add custom CSS, JS, and HTML code to WordPress from a simple menu.

custom code panel with a WordPress plugin

Selecting the Add CSS Code option will open an editor. You can use that editor to insert custom CSS and choose where the code will go within your files.

adding CSS with a WordPress plugin

Although adding custom CSS with plugins is simple, we recommend against this method. WordPress provides you with plenty of built-in options for adding and editing CSS code. If you want a more hands-on approach, you can always use FTP.

If you rely on a plugin to add custom CSS, the code might disappear if you uninstall the plugin. Furthermore, different plugins will add code using unique methods, so your results will vary depending on which tool you use.

Explore the benefits of Jetpack

Learn how Jetpack can help you protect, speed up, and grow your WordPress site. Get up to 70% off your first year.

Explore plans

Can you add JavaScript code to WordPress?

WordPress doesn’t provide any built-in functionality for adding JavaScript code to your website. Unlike with HTML and CSS, your only options with JavaScript are to use plugins or add the code manually through the theme editor or FTP.

Usually, the easiest way to add JavaScript code is to use a plugin. If you choose the manual approach, you can use JavaScript with WordPress with the PHP “enqueueing” function.

To learn more, see our guide on how to add JavaScript to WordPress.

Should you optimize your WordPress code for better performance?

Code optimization is a broad term that encompasses several practices. These ensure that your code runs as smoothly as possible and doesn’t take up a lot of server space. 

By and large, code snippets shouldn’t take up too much storage. Still, you can reduce the space they occupy using “minification.”

Minification takes your custom HTML and CSS and removes empty spaces or unnecessary characters. To give you an example, here’s a simple custom CSS snippet:

p {
  text-align: center;
  color: red;

If you take that code and minify it, it’ll look something like this:


The output of the code remains the same, but the resulting file size can be smaller. In practice, minifying HTML and CSS code often won’t provide you with significant results. 

The exception is when you’re dealing with massive code libraries. Any size reduction will lead to shorter loading times for visitors.

In addition, choose your third-party code source carefully. Relying on reputable websites and expert developer forums can ensure that your code is effective, safe, and functional. In contrast, random snippets from unknown blogs are more likely to cause issues, slow down your site, and potentially break it. 

Customize WordPress using HTML, CSS, and PHP

Learning to add and edit code in WordPress is easier than you might think. Even if you’re not a developer, you can often find code that fits your needs with a quick bit of Googling. Knowing how to insert that code safely can enable you to customize your website in ways plugins alone might not be able to.

Before you start making any changes to your site’s code, we recommend creating a full backup. If you’re going to edit your theme’s CSS or PHP, you’ll also want to use a child theme. Depending on which web host you’re using, you might also have access to staging functionality. We recommend using a staging website when editing code for safety purposes.

This entry was posted in Learn. Bookmark the permalink.

Simon Keating profile
Simon Keating

Simon has worked in marketing and product development for over 10 years, previously at HubSpot, Workday, and now Automattic (Jetpack). He has a varied education, with a degree in chemical engineering and a masters in computer science to his name. His passion is helping people and their businesses grow.

Explore the benefits of Jetpack

Learn how Jetpack can help you protect, speed up, and grow your WordPress site. Get up to 70% off your first year.

Explore plans

Have a question?

Comments are closed for this article, but we're still here to help! Visit the support forum and we'll be happy to answer any questions.

View support forum
  • Enter your email address to follow this blog and receive news and updates from Jetpack!

    Join 112.5K other subscribers
  • Browse by Topic

  • %d bloggers like this: