Head & Footer Code


Head & Footer Code plugin helps you add custom code snippets (JavaScript, CSS, or HTML) to the page even if you are not a programmer. It could be <head> (site verification code for various services, custom styles, meta or Webfont link), just before </body> or right after opening <body> (pixel tracking, analytics or heatmap code).

Go to ToolsHead & Footer Code in WordPress Dashboard. Insert custom code to HEAD, BODY or FOOTER section (depending on what you have to do).

If your WordPress shows the latest blog posts on the homepage, you can also add specific code only for the homepage on ToolsHead & Footer Code (there will be section Head, body and footer code on Homepage in Blog Posts mode)

To insert custom code specific for individual article (post, page or custom post type), use article-specific Metabox while editing post/page/custom post type (check out Screenshots). There choose if that specific code appends to site-wide code defined on ToolsHead & Footer Code, or to replace it.

Taxonomies (category, tag and custom taxonomy listing, individual category, tags and custom taxonomies) do not have their specific code. Global code uses instead.

This magic is done by hooking to WordPress hooks wp_head, wp_footer and wp_body_open.

Various code snippets are supported, including but not limited to:

  • Google Analytics
  • Google Tag Manager
  • Google Ads Conversion
  • Facebook Pixel
  • Hotjar
  • FullStory
  • Google site verification
  • Bing site verification
  • Yandex site verification
  • Alexa site verification

Works or broken?

If Head & Footer Code does not work on your WordPress project, please let us know by raising a new support ticket in the Community Forum and describe what does not works and how to reproduce the issue. We will make sure to resolve the issue as soon as possible.

If you find Head & Footer Code useful for your project, please review plugin.


  • Set site-wide custom content for head page section (before the </head>)
  • Set site-wide custom content for body section (after the <body>) – Requires WordPress 5.2!
  • Set site-wide custom content for footer page section (before the </body>)
  • [NEW in 1.2] Set homepage specific custom code for head, body and/or footer if Homepage mode is se to Blog Posts
  • Set article specific custom code for head page section (before the </head>)
  • Set article specific custom code for body section (after the <body>) – Requires WordPress 5.2!
  • Set article specific custom content for footer page section (before the </body>)
  • Choose priority of printed custom code to head/body/footer sections (lower number mean far from </head> and </body> and closer to <body>, higher number means closer to </head> and </body> and farther to <body>)
  • Choose which post types will have enabled article specific head/body/footer fields
  • Choose should article specific head/body/footer code be appended to site-wide code, or will replace site-wide code
  • [NEW in 1.2.1] View on Posts/Pages/Custom Post Types listing if article has defined any article specific custom code
  • Site-wide section located under Tools > Head & Footer Code
  • If you have set WP_DEBUG constant in wp-config.php to true, you’ll see site-wide and article specific entries in page source code wrapped to comments.
  • Multisite is supported.
  • PHP 8 ready!

General settings (HEAD, BODY, FOOTER global code and priority, Homepage code and behaviour) saves in WordPress option auhfc_settings.
Each post/page/custom post type specific HEAD, BODY and FOOTER code and behaviour saves to post meta _auhfc.
This data deletes from the database on uninstall.


  • Head & Footer Code box in Plugin search results
  • Plugin Settings page (Site-wide, Homepage and Article Post Types)
  • Article specific metabox
  • Example of custom code inserted to HEAD section (site-wide with appended article specific)
  • Example of custom code inserted to BODY section (site-wide with appended article specific)
  • Example of custom code inserted to FOOTER section (site-wide with appended article specific)
  • Example of Head & Footer Code column on Pages listing, to identify which pages have set custom code, which one and what mode is selected


Installation of the Head & Footer Code is easy as any other WordPress plugin.

Standard procedure

  1. In WordPress Dashboard go to PluginsAdd New.
  2. Enter head footer code to the Search plugins… field and wait for the moment.
  3. Locate Head & Footer Code and click the Install Now button.
  4. After successful installation, click the Activate button.
  5. Click Settings link for Head & Footer Code or visit the ToolsHead & Footer Code.
  6. Add the desired code to the target section.

FTP procedure

  1. Click on the Download button to get Head & Footer Code installation package.
  2. Unpack archive head-footer-code.zip on local computer.
  3. Upload the entire directory head-footer-code to the /wp-content/plugins/ directory on your server.
  4. In WordPress Dashboard go to PluginsInstalled Plugins and click the link Activate for the Head & Footer Code plugin.
  5. Click Settings link for Head & Footer Code or visit the ToolsHead & Footer Code.
  6. Add the desired code to the target section.

Preguntas frecuentes

Is supported PHP code in code snippets?

As it’s a security risk, the Head & Footer Code does not process PHP code if entered into any plugin field (global or article specific).

Any content added to HFC fields is printed on the front-end as is.

I entered code to BODY section, but nothing outputs on front-end

This feature is implemented since WordPress version 5.2 and requires theme compatibility.

To make sure if theme you use supports wp_body_open hook, open in code editor header.php file from theme you use, and check if right after opening <BODY> tag there is following code (if it does not exists, add it or ask some developer to do that for you):


if ( function_exists( ‘wp_body_open’ ) ) {


28 de julio de 2021
I find very useful for GG conversions to put general Tag Manager in the head of each pages of the site and then , we can append conversion tag in the page we really need. I tried some others 2. This one is really good. Thanks for this useful plugin.
15 de junio de 2021
This plugin is what exactly I'm looking for to add custom javascript and CSS codes to specific pages without inserting them inside the template.
27 de febrero de 2021
A perfect solution when you want to add custom scripts or codes to the header, body, or footer without touching the theme files. Working well to our needs and the support is quick to assist when you experience any issues.
Leer todas las 32 reseñas

Colaboradores y desarrolladores

Este software es de código abierto. Las siguientes personas han contribuido a este plugin.


"Head & Footer Code" ha sido traducido a 5 idiomas locales. Gracias a los traductores por sus contribuciones.

Traduce "Head & Footer Code" a tu idioma.

¿Interesado en el desarrollo?

Revisa el código, echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.2.3 (2021-07-19)

  • Tested: on WordPress 5.8-RC4 and PHP 8.0.8
  • (2021-05-04) Fix: Notice errors Trying to get property ‘post_type’ of non-object in inc/front.php (thanks to @tekgirlymama)
  • Improve: DRY for getting post type.

1.2.2 (2021-04-24)

  • Tested: on WordPress 5.7.1
  • (2021-02-01) Fix: Noice errors in update script (thanks to @swinggraphics)
  • Improve: wording on post/page listing


  • Add: Head & Footer Code column to post/page/custom post type listing to show if/what article specific custom code is defined
  • Fix: in_array() expects parameter 2 to be array, null given in head-footer-code/inc/front.php on line 46, 111, and 176


  • Add: custom head, body and footer code for Homepage in Blog Posts mode.
  • Fix: Code Editor broken in WordPress 5.5 release.
  • Fix: Invalid requests while saving settings https://github.com/urosevic/head-footer-code/issues/1
  • Improve: DRY for front-end conditions.
  • Improve: translators tips for complex strings.
  • Improve: all strings available to localize.


  • Tested: on WordPress 5.4.1, 5.5-RC2-48768 with PHP 7.4.1
  • Add: Video tutorial on how to install, configure and use Head & Footer Code plugin


  • Tested: on WordPress 5.1.4, 5.3.2 and 5.4-beta3 with PHP 7.2.15 and 7.3.7
  • Fix: Backslashes are removed on post/page update in article specific HEAD/BODY/FOOTER code reported by @asherber (update_post_meta pass key and value to update_metadata which expect them slashed key and value)
  • Add: Support for wp_body_open Body hook introduced in WordPress 5.2
  • Add: Backward compatibility for wp_body_open for older WordPress installations
  • Add: FAQ Instructions on how to implement support for wp_body_open to any theme
  • Update: Links and wording on plugin settings page
  • Update: Screenshots

  • Fix: Fatal Error on Multisite WP’s (thanks @kunzemarketing for reporting)
  • Improve: DRI for front-end debugging


  • Add: Descriptive post types and descriptions for article specific sections
  • Add: Option to process shortcodes in FOOTER section (global setting for site-wide and article specific)
  • Change: Separate priority for HEAD and FOOT so admin can choose different priorities for header and footer
  • Add: CodeMirror code editor for HEAD and FOOTER code in plugin settings
  • Add: Plugin activation hook to prevent fatal errors in case of legacy WP and/or PHP
  • Improve: Loading security


  • Test compatibility with WordPress 5.1.1 and PHP 7.2.15
  • Change: Meta boxes layout and type of behavior selector
  • Change: Convert Post metaboxes to OOP
  • Change: GNU GPL license to v3
  • Add: Bundle GNU GPLv3 license to plugin codebase
  • Update: Screenshots


  • Compatibility check: Tested for WordPress 4.7.1
  • UX: Add right hand sidebar on global settings page with links to donate, FAQ, Community support and plugin Reviews page.
  • UX: Set monospaced font for textareas on global settings and article pages


  • Fix: PHP Notice: Trying to get property of non-object in \wp-content\plugins\head-footer-code\inc\front.php on line 41.
  • Fix: Overwrite footer content for post/page if post/page template after content have another WP Loop query (like recent posts WP Widget in RHS sidebar).
  • Optimize: Avoid reading post meta if not singular or post type not enabled
  • Tested in Multisite environment (main and other network websites) on WordPress v4.5-alpha-36504 and theme Twenty Sixteen v1.2-alpha.


  • Enhance: Add uninstall routine to make some housekeeping on plugin removal.
  • Enhance: Add post type in debug comments.
  • Readme: Test on WordPress v4.4-beta1 and updated compatibility.


  • Fix: PHP Warning: in_array() expects parameter 2 to be array, string given (introduced in v1.0.3)


  • Change: Make even default WP post types post and page optional for page specific head/footer code


  • Change: Replace PayPal donation links to prevent account limitations if plugin is used on website that violates PayPal’s Acceptable Use Policy


  • Fix: PHP Notice Trying to get property of non-object
  • Optimize: Remove attachment post type from available to select as no reason to have custom head/footer code on attachments
  • Optimize: Settings code cleanup


  • Initial release.