BuddyX

12 min read · 2,491 words

How to Edit the Footer in WordPress (Block Themes, Classic Themes, and Page Builders)

Footer In WordPress

“Edit the footer” means at least four different things in WordPress depending on what kind of site you’re running, and most guides on this topic only cover one of them, usually the oldest, simplest case, which is why so many people follow a tutorial’s steps exactly and still can’t find the option being described. Before doing anything, figure out which of these situations actually applies to your site.

Check Appearance in your dashboard sidebar. If you see an item called Editor (sometimes labeled “Site Editor” or shown with a WordPress logo icon rather than a paintbrush), your theme is a block theme (also called a Full Site Editing or FSE theme), and the footer lives in a template part you edit visually, block by block. If instead you see Customize leading to a live-preview panel, you’re on a classic theme, and the footer is either controlled through a Customizer panel, hardcoded in a template file called footer.php, or some combination of both depending on how the theme was built. A third layer, independent of theme type: WordPress’s native widget areas, which many themes register specifically for the footer and which show up under Appearance → Widgets on classic themes. Knowing which of these three you’re working with before you start saves a lot of wasted clicking.

If you’re on a block theme (Twenty Twenty-Four, Twenty Twenty-Five, or most modern WordPress.org themes released since 2022), go to Appearance → Editor, then look for Patterns or Template Parts in the left sidebar and select Footer. This opens the actual footer as a set of editable blocks, the same block editor you use for post content, just scoped to this reusable region that appears at the bottom of every page. You can add, remove, or rearrange blocks directly: drag in a Paragraph block for copyright text, a Social Icons block, a Navigation block for a footer menu, or a Columns block to lay out multiple sections side by side. Changes save automatically to the template part and apply site-wide immediately, there’s no separate “publish” step the way there is for a single post, though a confirmation prompt appears if you navigate away with unsaved changes.

Because a footer template part is shared across every page using that template, editing it here changes the footer everywhere at once. If you need a different footer on a specific page (a landing page without the usual footer, for instance), that requires either a different template assigned to that one page (via the Template option in the page’s editor sidebar, if your theme registers alternate templates) or a plugin capable of per-page template overrides, editing the shared footer template part itself isn’t the right tool for a one-off exception.

Classic themes: the Customizer method

On a classic (non-block) theme, go to Appearance → Customize and look through the left-hand panel for a section labeled Footer, Footer Text, or Copyright, the exact naming varies by theme since this isn’t a standardized WordPress core feature, it’s something each theme author chooses to build and expose. If your theme includes it, you’ll typically get a text field for copyright or footer text and sometimes basic layout toggles (number of columns, social icon visibility). Make your changes, use the live preview pane on the right to confirm it looks right, then click Publish at the top to make it live. Not every classic theme builds this in, plenty of minimal or older themes leave the footer entirely hardcoded, which means the Customizer route simply won’t have a relevant option, and you’ll need the file-editing method below instead.

When a theme doesn’t expose footer editing through the Customizer, the content lives in the theme’s footer.php file, and changing it means editing that file’s HTML and PHP directly. This is the method that carries real risk if done wrong, for one specific reason: theme updates overwrite the theme’s own files, including any direct edits you made to footer.php. The next time the theme updates, your changes vanish, silently, with no warning.

The fix is a child theme: a small companion theme that inherits everything from the parent but lets you override specific files without touching the parent theme’s own code. To edit the footer safely:

  1. Create (or confirm you already have) a child theme for your active parent theme. Many premium themes ship an official child theme; if not, one can be created with a two-file minimum (a style.css declaring the parent template, and a functions.php enqueuing the parent’s stylesheet).
  2. Copy footer.php from the parent theme’s folder into the child theme’s folder, preserving the exact same filename and directory structure.
  3. Edit the copy inside the child theme. WordPress automatically uses the child theme’s version instead of the parent’s once both exist with matching filenames.
  4. Test the change on a staging copy of the site first if the footer touches shared elements like schema markup or tracking scripts, a small typo in footer.php (an unclosed PHP tag, a missing semicolon) can produce a fatal error across the entire site, not just the footer region, since this file loads on every single page.

If you’re currently editing footer.php directly on the parent theme with no child theme in place, stop and set one up before making further changes, the amount of work to retrofit a child theme after you’ve already accumulated direct parent-theme edits is far higher than doing it correctly from the start.

Separately from both of the above, many classic themes register one or more widget areas specifically for the footer, visible under Appearance → Widgets, usually labeled something like “Footer 1,” “Footer Column 2,” and so on. These accept any registered WordPress widget or block (Recent Posts, a Text block, a Custom HTML block, a Navigation Menu widget) via drag-and-drop, without touching any code. If your theme has these registered, it’s usually the easiest way to add footer content like a short bio, a mini sitemap, or contact details, since it doesn’t require the Customizer’s more constrained text fields or a direct file edit. Block themes generally don’t use this older widget-area system at all, footer content on a block theme goes entirely through the template part editor described above.

If your site uses Elementor, Divi, Beaver Builder, or a similar page builder with its own theme-builder module, the footer very likely isn’t controlled by the WordPress theme at all, the page builder has generated its own footer template that overrides the theme’s native one entirely, and the WordPress Customizer or template part editor will have no effect on what visitors actually see. In Elementor, this lives under Templates → Theme Builder → Footer; in Divi, under the Divi Theme Builder’s Footer template area. Edit the footer there, using that tool’s own drag-and-drop widgets, rather than hunting through native WordPress screens for an option that doesn’t apply. This is one of the more common sources of confusion when following a generic WordPress tutorial on a site actually built with a page builder, the steps simply don’t map to what’s controlling the page.

A hardcoded “© 2023” in the footer is a small but visible sign a site isn’t maintained. For classic themes editing footer.php in a child theme, replace a static year with:

&copy; <?php echo date( 'Y' ); ?> Your Site Name. All rights reserved.

This pulls the current year from the server at page load, so it updates automatically every January without anyone needing to remember to change it. On a block theme, there’s no PHP available directly in the visual editor, but the same effect can be achieved with a small custom block or shortcode registered in functions.php if your theme supports one, or more simply by just remembering to update the static year once a year, for a low-traffic detail like this, that’s a perfectly reasonable trade-off against adding custom code for a cosmetic date.

Beyond copyright text, a well-built footer typically carries: links to privacy policy and terms of service pages (required in most jurisdictions if you collect any personal data, run ads, or use analytics), a way to contact the site owner, sitemap-style links to major site sections for both users and search engine crawlers, and social media links if the brand is active there. Resist the urge to cram every secondary link on the site into the footer, a footer with sixty links dilutes the value of each one and signals a site that’s optimizing for search engines rather than for actual visitors, which modern search algorithms increasingly discount rather than reward.

Accessibility basics that get skipped

Footers are dense with links, which makes them a common source of accessibility problems that are easy to fix once you know to look for them. Every link needs text that makes sense on its own, “Privacy Policy” is fine, a bare “Click here” or “Read more” repeated six times in a footer link list is not, since screen reader users often navigate a page by pulling up a list of all links out of context, and identical link text becomes meaningless in that view. Icon-only social links (a bare Facebook or Twitter icon with no visible text) need an aria-label attribute describing the destination, aria-label="Follow us on Instagram" rather than nothing at all, since an icon alone conveys nothing to assistive technology. Check color contrast on footer text specifically; footers are where sites most often default to low-contrast light gray text on a slightly darker background because it “looks clean,” and that combination frequently fails WCAG AA contrast requirements (a 4.5:1 ratio for normal-sized text) even when the rest of the site passes fine.

Beyond the legal and social basics, a footer earns its space on the page when it does real navigational work. A multi-column footer sitemap, Company, Resources, Legal, Contact, each with three to six real links, helps both visitors trying to find something and search engine crawlers building a picture of your site’s structure. A newsletter signup field in the footer catches visitors who read to the bottom of a page without needing a popup or an intrusive banner. For a business site, a footer with an address, phone number, and business hours reinforces local SEO signals in addition to being genuinely useful to a visitor trying to reach you. None of this needs to be elaborate, three or four well-chosen elements, correctly linked and legible, outperform a cluttered footer trying to be a second homepage.

The most common cause is a caching layer serving an old version of the page, a caching plugin (WP Rocket, W3 Total Cache, LiteSpeed Cache) or a host-level cache (Cloudflare, WP Engine’s proprietary cache) that hasn’t cleared yet. Purge the site’s cache explicitly rather than just refreshing the browser; a hard refresh (Ctrl+Shift+R or Cmd+Shift+R) clears your local browser cache but does nothing for server-side or CDN caching. The second common cause on classic themes: editing footer.php on the parent theme directly, then a theme update silently reverting it, check the theme’s version number against what you remember it being when you made the edit. The third: a page builder plugin (Elementor, Divi, Beaver Builder) is generating its own footer template that overrides the theme’s native footer entirely, in which case the edit needs to happen inside that page builder’s own template settings, not in the theme files or Customizer.

Common questions

On a block theme, yes, by creating an additional page template with a different footer template part and assigning it to specific pages through the Template dropdown in the page editor sidebar. On a classic theme, this usually requires either theme-specific template hierarchy features (some themes support a per-page footer selector) or conditional logic added to footer.php checking is_page() to change what renders.

Technically yes, but it’s better practice to use a dedicated header/footer scripts plugin (like WPCode) or your theme’s built-in custom scripts field if it has one, rather than pasting raw script tags into footer.php directly. This keeps tracking code separate from theme files, survives theme changes, and is easier to audit later when you’re trying to remember what’s actually running on the site.

Check for a PHP error first (enable WP_DEBUG temporarily, or check your host’s error log), a fatal error in a modified footer.php can cause the footer region, or the whole page, to fail silently. If you weren’t using a child theme and made direct edits, the update likely reverted the file to its original state, which would explain content disappearing rather than an error.

Not on a block theme, the template part editor is entirely visual, using the same block interface as writing a post. On a classic theme, basic changes through the Customizer or widget areas also need no code. Direct footer.php editing is the only path that requires comfort with HTML and basic PHP, and it’s worth avoiding unless the change genuinely can’t be made through the other two methods.

How do I know if I’m on a block theme or a classic theme?

Check Appearance → Themes for the active theme, then look at the Appearance submenu itself: an item labeled Editor with a WordPress-style icon means block theme; an item labeled Customize means classic theme. You can also check the theme’s theme.json file in its root folder via FTP or a file manager, block themes include this file, classic themes generally don’t.

On a block theme, you can strip the footer template part down to nothing or remove it from the template, though most themes expect some footer region to exist and removing it entirely can affect layout spacing elsewhere. On a classic theme with a hardcoded footer.php, removing the visible content while keeping the file’s closing HTML tags intact (</body></html> and any required WordPress function calls like wp_footer()) is the safer approach, deleting the entire file usually breaks the page rather than cleanly hiding the footer.

It’s a WordPress core function that many plugins hook into to inject their own scripts, tracking codes, or modals right before the closing </body> tag. Removing it from footer.php doesn’t just affect visible footer content, it silently breaks any plugin relying on that hook to load its functionality, which is a common and confusing cause of “this plugin stopped working after I edited my footer” reports.

Reading
12 min · 2,491 words
Published
Apr 19, 2023
Shashank Dubey
BuddyX contributor

Writing about WordPress communities, BuddyPress, BuddyBoss, LMS plugins, and the business of paid communities.

Keep reading

More from the BuddyX blog

Browse all posts on community, WordPress, BuddyPress and the studio of plugins behind BuddyX.