{"id":38218,"date":"2015-08-14T22:18:20","date_gmt":"2015-08-14T22:18:20","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/head-footer-code\/"},"modified":"2026-04-01T15:12:48","modified_gmt":"2026-04-01T15:12:48","slug":"head-footer-code","status":"publish","type":"plugin","link":"https:\/\/tw.wordpress.org\/plugins\/head-footer-code\/","author":187052,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.5.7","stable_tag":"1.5.7","tested":"7.0","requires":"5.2","requires_php":"5.6","requires_plugins":null,"header_name":"Head & Footer Code","header_author":"Aleksandar Uro\u0161evi\u0107","header_description":"","assets_banners_color":"2f2f29","last_updated":"2026-04-01 15:12:48","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/urosevic.net\/wordpress\/donate\/?donate_for=head-footer-code","header_plugin_uri":"https:\/\/urosevic.net\/wordpress\/plugins\/head-footer-code\/","header_author_uri":"https:\/\/urosevic.net\/","rating":5,"author_block_rating":0,"active_installs":100000,"downloads":2552471,"num_ratings":53,"support_threads":6,"support_threads_resolved":5,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.8":{"tag":"1.0.8","author":"urkekg","date":"2019-03-30 17:46:05"},"1.0.9":{"tag":"1.0.9","author":"urkekg","date":"2019-04-07 18:42:01"},"1.0.9.1":{"tag":"1.0.9.1","author":"urkekg","date":"2019-04-08 16:29:51"},"1.1.0":{"tag":"1.1.0","author":"urkekg","date":"2020-02-29 12:52:02"},"1.1.1":{"tag":"1.1.1","author":"urkekg","date":"2020-08-10 08:21:36"},"1.2":{"tag":"1.2","author":"urkekg","date":"2020-08-20 19:13:44"},"1.2.1":{"tag":"1.2.1","author":"urkekg","date":"2020-12-31 14:59:45"},"1.2.2":{"tag":"1.2.2","author":"urkekg","date":"2021-04-25 20:42:52"},"1.2.3":{"tag":"1.2.3","author":"urkekg","date":"2021-07-19 18:03:29"},"1.2.4":{"tag":"1.2.4","author":"urkekg","date":"2022-01-22 10:15:40"},"1.3.0":{"tag":"1.3.0","author":"urkekg","date":"2022-11-13 13:15:46"},"1.3.1":{"tag":"1.3.1","author":"urkekg","date":"2023-04-24 18:34:28"},"1.3.2":{"tag":"1.3.2","author":"urkekg","date":"2023-06-02 18:52:42"},"1.3.3":{"tag":"1.3.3","author":"urkekg","date":"2023-08-14 16:36:02"},"1.3.4":{"tag":"1.3.4","author":"urkekg","date":"2024-06-30 14:38:01"},"1.3.5":{"tag":"1.3.5","author":"urkekg","date":"2024-07-06 17:51:06"},"1.3.6":{"tag":"1.3.6","author":"urkekg","date":"2024-10-12 15:43:06"},"1.3.7":{"tag":"1.3.7","author":"urkekg","date":"2024-11-18 09:55:20"},"1.4.0":{"tag":"1.4.0","author":"urkekg","date":"2025-04-12 17:46:59"},"1.4.1":{"tag":"1.4.1","author":"urkekg","date":"2025-04-13 20:45:30"},"1.4.2":{"tag":"1.4.2","author":"urkekg","date":"2025-04-20 05:39:14"},"1.4.3":{"tag":"1.4.3","author":"urkekg","date":"2025-04-30 18:43:23"},"1.4.4":{"tag":"1.4.4","author":"urkekg","date":"2025-05-31 09:51:51"},"1.4.5":{"tag":"1.4.5","author":"urkekg","date":"2025-06-13 08:03:12"},"1.4.6":{"tag":"1.4.6","author":"urkekg","date":"2025-12-01 11:04:01"},"1.5.0":{"tag":"1.5.0","author":"urkekg","date":"2026-02-23 10:29:56"},"1.5.1":{"tag":"1.5.1","author":"urkekg","date":"2026-02-23 10:29:56"},"1.5.2":{"tag":"1.5.2","author":"urkekg","date":"2026-03-07 12:15:38"},"1.5.3":{"tag":"1.5.3","author":"urkekg","date":"2026-03-07 12:15:38"},"1.5.4":{"tag":"1.5.4","author":"urkekg","date":"2026-03-10 14:55:07"},"1.5.5":{"tag":"1.5.5","author":"urkekg","date":"2026-03-11 11:34:41"},"1.5.6":{"tag":"1.5.6","author":"urkekg","date":"2026-03-23 12:59:45"},"1.5.7":{"tag":"1.5.7","author":"urkekg","date":"2026-04-01 15:12:48"}},"upgrade_notice":{"1.5.0":"<p>To improve security and prevent XSS, this release introduce filtering of all opening SCRIPT and STYLE tags, and remove all not allowed attributes from them (eg. <code>onload<\/code>, <code>onmouseover<\/code>, etc).<\/p>","1.0.0":"<p>Initial release of new plugin developed by Aleksandar Urosevic.<\/p>","1.4.0":"<p>Introduced restriction for non-privileged roles (eg. Editor and Author) to access HFC on pages, posts and custom CPTs. If you wish to allow them manage article-specific HFC, make sure you enable that at the bottom of the global plugin settings page.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":2,"5":51},"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3299702,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":1677793,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":1677793,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.8","1.0.9","1.0.9.1","1.1.0","1.1.1","1.2","1.2.1","1.2.2","1.2.3","1.2.4","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.5.0","1.5.1","1.5.2","1.5.3","1.5.4","1.5.5","1.5.6","1.5.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3467543,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3467543,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3467543,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2882473,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":2882473,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3467543,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3467543,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3467543,"resolution":"8","location":"assets","locale":""}},"screenshots":{"1":"Head &amp; Footer Code box in Plugin search results","2":"Plugin Settings page (Site-wide, Homepage and Article Post Types)","3":"Article specific metabox","4":"Example of custom code inserted to HEAD section (site-wide with appended article specific)","5":"Example of custom code inserted to BODY and FOOTER sections (site-wide with appended article specific)","6":"Category specific metabox","7":"Example of custom code inserted to HEAD, BODY and FOOTER section (site-wide with appended category specific)","8":"Example of <strong>Head &amp; Footer Code<\/strong> column on Pages listing, to identify which pages have set custom code, which one and what mode is selected"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2858,1214,2640,3195,1216],"plugin_category":[59],"plugin_contributors":[194504,79024],"plugin_business_model":[],"class_list":["post-38218","plugin","type-plugin","status-publish","hentry","plugin_tags-body","plugin_tags-code","plugin_tags-footer","plugin_tags-head","plugin_tags-script","plugin_category-utilities-and-tools","plugin_contributors-techwebux","plugin_contributors-urkekg","plugin_committers-urkekg","plugin_support_reps-urkekg"],"banners":{"banner":"https:\/\/ps.w.org\/head-footer-code\/assets\/banner-772x250.png?rev=1677793","banner_2x":"https:\/\/ps.w.org\/head-footer-code\/assets\/banner-1544x500.png?rev=1677793","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/head-footer-code\/assets\/icon.svg?rev=3299702","icon":"https:\/\/ps.w.org\/head-footer-code\/assets\/icon.svg?rev=3299702","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/head-footer-code\/assets\/screenshot-1.png?rev=3467543","caption":"Head &amp; Footer Code box in Plugin search results"},{"src":"https:\/\/ps.w.org\/head-footer-code\/assets\/screenshot-2.png?rev=3467543","caption":"Plugin Settings page (Site-wide, Homepage and Article Post Types)"},{"src":"https:\/\/ps.w.org\/head-footer-code\/assets\/screenshot-3.png?rev=3467543","caption":"Article specific metabox"},{"src":"https:\/\/ps.w.org\/head-footer-code\/assets\/screenshot-4.png?rev=2882473","caption":"Example of custom code inserted to HEAD section (site-wide with appended article specific)"},{"src":"https:\/\/ps.w.org\/head-footer-code\/assets\/screenshot-5.png?rev=2882473","caption":"Example of custom code inserted to BODY and FOOTER sections (site-wide with appended article specific)"},{"src":"https:\/\/ps.w.org\/head-footer-code\/assets\/screenshot-6.png?rev=3467543","caption":"Category specific metabox"},{"src":"https:\/\/ps.w.org\/head-footer-code\/assets\/screenshot-7.png?rev=3467543","caption":"Example of custom code inserted to HEAD, BODY and FOOTER section (site-wide with appended category specific)"},{"src":"https:\/\/ps.w.org\/head-footer-code\/assets\/screenshot-8.png?rev=3467543","caption":"Example of <strong>Head &amp; Footer Code<\/strong> column on Pages listing, to identify which pages have set custom code, which one and what mode is selected"}],"raw_content":"<!--section=description-->\n<p><strong>Head &amp; Footer Code<\/strong> plugin helps you add custom code snippets (JavaScript, CSS, or HTML) to the page even if you are not a programmer. It could be within the <code>&lt;head&gt;<\/code> (site verification code for various services, custom styles, meta or Webfont link), right after opening <code>&lt;body&gt;<\/code> (pixel tracking, analytics or heatmap code) or just before closing <code>&lt;\/body&gt;<\/code> tag.<\/p>\n\n<p>Go to <strong>Tools<\/strong> &rarr; <strong>Head &amp; Footer Code<\/strong> in WordPress Dashboard. Insert custom code to HEAD, BODY or FOOTER section (depending on what you have to do).<\/p>\n\n<p>All magic is done by hooking to WordPress hooks <code>wp_head<\/code>, <code>wp_footer<\/code> and <code>wp_body_open<\/code>.<\/p>\n\n<blockquote>\n  <p>\ud83d\udca1 Trial Head &amp; Footer Code plugin on a free dummy website before you add it on your project: <a href=\"https:\/\/tastewp.com\/new\/?pre-installed-plugin-slug=head-footer-code\">Test It Now!<\/a><\/p>\n<\/blockquote>\n\n<p>Various code snippets are supported, including but not limited to:<\/p>\n\n<ul>\n<li>Google Analytics 4<\/li>\n<li>Google Tag Manager<\/li>\n<li>Google Ads Conversion<\/li>\n<li>Lite Analytics<\/li>\n<li>Facebook\/Meta Pixel<\/li>\n<li>Hotjar<\/li>\n<li>FullStory<\/li>\n<li>Google site verification<\/li>\n<li>Bing site verification<\/li>\n<li>Yandex site verification<\/li>\n<li>Alexa site verification<\/li>\n<\/ul>\n\n<h3>Homepage in Blog Posts mode<\/h3>\n\n<p>If your WordPress shows the latest blog posts on the homepage, you can also add specific code only for the homepage on <strong>Tools<\/strong> &rarr; <strong>Head &amp; Footer Code<\/strong> (there will be section <strong>Head, body and footer code on Homepage in Blog Posts mode<\/strong>)<\/p>\n\n<h3>Article specific code<\/h3>\n\n<p>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 <a href=\"https:\/\/wordpress.org\/plugins\/head-footer-code\/#screenshots\">Screenshots<\/a>). There choose if that specific code appends to site-wide code defined on <strong>Tools<\/strong> &rarr; <strong>Head &amp; Footer Code<\/strong>, or to replace it.<\/p>\n\n<h3>Category specific code<\/h3>\n\n<p>You can also define a Category specific code on each individual category.<\/p>\n\n<p>Other taxonomies (tag and custom taxonomy) do not have available their specific code, but for them a Global code is used instead.<\/p>\n\n<h3>Video guide<\/h3>\n\n<p>https:\/\/www.youtube.com\/watch?v=Gd41Dv09UC4<\/p>\n\n<h3>Do you need our support?<\/h3>\n\n<p>If <strong>Head &amp; Footer Code<\/strong> does not work on your project, please let us know by <a href=\"https:\/\/wordpress.org\/support\/plugin\/head-footer-code\/#new-topic-0\">raising a new support ticket<\/a> in the <a href=\"https:\/\/wordpress.org\/support\/plugin\/head-footer-code\/\">Community Forum<\/a> and describe what does not works and how to reproduce the issue. We will make sure to resolve the issue as soon as possible.<\/p>\n\n<p>If you find <strong>Head &amp; Footer Code<\/strong> useful for your project, please <a href=\"https:\/\/wordpress.org\/support\/plugin\/head-footer-code\/reviews\/#new-post\">review plugin<\/a>.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li><strong>Multisite<\/strong> and <strong>PHP 8.5<\/strong> compatible!<\/li>\n<li>Set site-wide custom content for:\n\n<ul>\n<li>head page section (before the <code>&lt;\/head&gt;<\/code>)<\/li>\n<li>body section (after the <code>&lt;body&gt;<\/code>) - <strong>Requires WordPress 5.2!<\/strong><\/li>\n<li>footer page section (before the <code>&lt;\/body&gt;<\/code>)<\/li>\n<\/ul><\/li>\n<li>Homepage in Blog Posts mode:\n\n<ul>\n<li>set homepage specific custom code for head, body and\/or footer<\/li>\n<li>toggle homepage specific custom code on paged Homepage (page 2, 3, a nd so on)<\/li>\n<\/ul><\/li>\n<li>Set article specific custom code for:\n\n<ul>\n<li>head page section (before the <code>&lt;\/head&gt;<\/code>)<\/li>\n<li>body section (after the <code>&lt;body&gt;<\/code>) - <strong>Requires WordPress 5.2!<\/strong><\/li>\n<li>footer page section (before the <code>&lt;\/body&gt;<\/code>)<\/li>\n<\/ul><\/li>\n<li>Set category specific custom code for head, body and\/or footer of the page<\/li>\n<li>Choose priority of printed custom code to head\/body\/footer sections (lower number mean far from <code>&lt;\/head&gt;<\/code> and <code>&lt;\/body&gt;<\/code> and closer to <code>&lt;body&gt;<\/code>, higher number means closer to <code>&lt;\/head&gt;<\/code> and <code>&lt;\/body&gt;<\/code> and farther to <code>&lt;body&gt;<\/code>)<\/li>\n<li>Choose which post types will have enabled article specific head\/body\/footer fields<\/li>\n<li>Choose should article specific head\/body\/footer code be appended to site-wide code, or will replace site-wide code<\/li>\n<li>View on Posts\/Pages\/Custom Post Types listing if article has defined any article specific custom code<\/li>\n<li>Site-wide section is located under <strong>Tools<\/strong> &gt; <strong>Head &amp; Footer Code<\/strong><\/li>\n<li>If you have set WP_DEBUG constant in <code>wp-config.php<\/code> to <code>true<\/code>, you'll see site-wide and article specific entries in page source code wrapped to comments.<\/li>\n<li>[NEW] allow unprivileged user roles Editor and Author to manage article-specific code on single site and multisite (disabled by default)<\/li>\n<\/ul>\n\n<h3>Data stored in database<\/h3>\n\n<p>General settings (HEAD, BODY, FOOTER global code and priority, Homepage code and behaviour) saves in WordPress option <code>auhfc_settings<\/code>.\nEach post\/page\/custom post type specific HEAD, BODY and FOOTER code and behaviour saves to post meta <code>_auhfc<\/code>.\nEach category specific HEAD, BODY and FOOTER code and behaviour saves to taxonomy meta <code>_auhfc<\/code>.<\/p>\n\n<p>During the Uninstall process all these data has been deleted from the database.\nIn case you wish to reinstall plugin, <strong>DO NOT UNINSTALL IT<\/strong> although <strong>Deactivate<\/strong>, then delete the directory <code>\/wp-content\/plugins\/head-footer-code<\/code> and then reinstall plugin.<\/p>\n\n<h3>Permissions on Multisite WordPress<\/h3>\n\n<ol>\n<li>Access to <strong>Global<\/strong>: only Super Admin and Administrator<\/li>\n<li>Access to <strong>Article specific<\/strong>: Super Admin, Administrator; <strong>optional<\/strong>: Editor and Author<\/li>\n<li>Access to <strong>Category specific<\/strong>: only Super Admin and Administrator<\/li>\n<\/ol>\n\n<!--section=installation-->\n<p>Installation of the <strong>Head &amp; Footer Code<\/strong> is easy as any other WordPress plugin.<\/p>\n\n<h3>Standard procedure<\/h3>\n\n<ol>\n<li>In WordPress Dashboard go to <strong>Plugins<\/strong> &rarr; <strong>Add New<\/strong>.<\/li>\n<li>Enter <code>head footer code<\/code> to the <strong>Search plugins...<\/strong> field and wait for the moment.<\/li>\n<li>Locate <strong>Head &amp; Footer Code<\/strong> and click the <strong>Install Now<\/strong> button.<\/li>\n<li>After successful installation, click the <strong>Activate<\/strong> button.<\/li>\n<li>Click <strong>Settings<\/strong> link for <strong>Head &amp; Footer Code<\/strong> or visit the <strong>Tools<\/strong> &rarr; <strong>Head &amp; Footer Code<\/strong>.<\/li>\n<li>Add the desired code to the target section.<\/li>\n<\/ol>\n\n<h3>FTP procedure<\/h3>\n\n<ol>\n<li>Click on the <strong>Download<\/strong> button to get <strong>Head &amp; Footer Code<\/strong> installation package.<\/li>\n<li>Unpack archive <strong>head-footer-code.zip<\/strong> on local computer.<\/li>\n<li>Upload the entire directory <strong>head-footer-code<\/strong> to the <code>\/wp-content\/plugins\/<\/code> directory on your server.<\/li>\n<li>In WordPress Dashboard go to <strong>Plugins<\/strong> &rarr; <strong>Installed Plugins<\/strong> and click the link <strong>Activate<\/strong> for the <strong>Head &amp; Footer Code<\/strong> plugin.<\/li>\n<li>Click <strong>Settings<\/strong> link for <strong>Head &amp; Footer Code<\/strong> or visit the <strong>Tools<\/strong> &rarr; <strong>Head &amp; Footer Code<\/strong>.<\/li>\n<li>Add the desired code to the target section.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"on%20network%20wordpress%20an%20administrator%2Feditor%2Fauthor%20user%20getting%20code%20validation%20hint%20error%20%60tag%20%3Ctag%3E%20is%20not%20allowed.%60\"><h3>On Network WordPress an Administrator\/Editor\/Author user getting code validation hint error `Tag  is not allowed.`<\/h3><\/dt>\n<dd><p>It's not a bug, it's a security measure by WordPress Core.<\/p>\n\n<p>If you wish to remove hinting errors for Administrator role, make sure you allow <code>unfiltered_html<\/code> capability for that role (Google is your friend).<\/p><\/dd>\n<dt id=\"is%20supported%20php%20code%20in%20code%20snippets%3F\"><h3>Is supported PHP code in code snippets?<\/h3><\/dt>\n<dd><p>As it's a security risk, the <strong>Head &amp; Footer Code<\/strong> does not process PHP code if entered into any plugin field (global or article specific).<\/p>\n\n<p>Any content added to HFC fields is printed on the front-end as is.<\/p><\/dd>\n<dt id=\"i%20entered%20code%20to%20body%20section%2C%20but%20nothing%20outputs%20on%20front-end\"><h3>I entered code to BODY section, but nothing outputs on front-end<\/h3><\/dt>\n<dd><p>This feature is implemented since WordPress version 5.2 and requires theme compatibility.<\/p>\n\n<p>To make sure if theme you use supports <a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/wp_body_open\/\">wp_body_open<\/a> hook, open in code editor <code>header.php<\/code> file from theme you use, and check if right after opening <code>&lt;BODY&gt;<\/code> tag there is following code (if it does not exists, add it or ask some developer to do that for you):<\/p>\n\n<pre><code>if ( function_exists( 'wp_body_open' ) ) {\n    wp_body_open();\n}\n<\/code><\/pre><\/dd>\n<dt id=\"where%20do%20i%20report%20security%20bugs%20found%20in%20this%20plugin%3F\"><h3>Where do I report security bugs found in this plugin?<\/h3><\/dt>\n<dd><p>Please report security bugs found in the source code of the Head &amp; Footer Code plugin through the <a href=\"https:\/\/patchstack.com\/database\/vdp\/head-footer-code\">Patchstack Vulnerability Disclosure Program<\/a>. The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h3>1.5.7 (2026-04-01)<\/h3>\n\n<ul>\n<li>Improve: Allow Programmable Search Engine tags (PageMap, DataObject and Attribute)<\/li>\n<li>Test: WordPress 7.0-RC2<\/li>\n<\/ul>\n\n<h3>1.5.6 (2026-03-23)<\/h3>\n\n<ul>\n<li>Fix: update routine 10 infinite loop on sites with huge number of posts (10k+)<\/li>\n<li>Test: WordPress 7.0-beta6<\/li>\n<\/ul>\n\n<h3>1.5.5 (2026-03-11)<\/h3>\n\n<ul>\n<li>Fix: Remove <code>set_time_limit<\/code> from <code>update.php<\/code> to prevent fatal error on servers where it's disabled<\/li>\n<\/ul>\n\n<h3>1.5.4 (2026-03-10)<\/h3>\n\n<ul>\n<li>New: Add dynamic support for all public taxonomies (eg, Tags, Product Categories)<\/li>\n<li>Fix: There was no <code>Settings saved.<\/code> notification<\/li>\n<li>Fix: Allow <code>id<\/code>, <code>dir<\/code>, <code>class<\/code> and <code>data-*<\/code> attribute for <code>script<\/code>, <code>style<\/code>, <code>link<\/code> and <code>iframe<\/code> tags.<\/li>\n<li>Change: Move review CTA to the bottom of the Settings page<\/li>\n<li>Change: Increased minimum requirements to WordPress 5.2 and PHP 5.6<\/li>\n<li>Cleanup: Removed <code>wp_body_open<\/code> fallback (no longer needed with WP 5.2+ requirement)<\/li>\n<li>Improve: Introduce <code>Plugin_Info<\/code> class for cleaner constant management<\/li>\n<li>Optimize: Internal code refactoring for better maintainability and naming clarity<\/li>\n<\/ul>\n\n<h3>1.5.3 (2026-03-07)<\/h3>\n\n<ul>\n<li>Fix: Allow <code>display<\/code> and <code>visibility<\/code> CSS properties for KSES<\/li>\n<li>Fix: Category specific code was double escaped<\/li>\n<li>Improve: DRY Front rendering<\/li>\n<li>Improve: DRY plugin activation handling<\/li>\n<li>Improve: Post grid custom code indicators<\/li>\n<li>Improve: Resolve some PCP errors and warnings<\/li>\n<li>Test: PHP 8.4.15, WordPress 6.9.1, Twenty Twenty-Five 1.4<\/li>\n<li>Test: PHP 8.5.3, WordPress 7.0-beta3, Twenty Twenty-Five 1.4<\/li>\n<li>Test: PHP 5.6.20, WordPress 5.2.23, Twenty Ninetin 1.4<\/li>\n<\/ul>\n\n<h3>1.5.2 (2026-03-04)<\/h3>\n\n<ul>\n<li>Fix: Allow all W3C standard attributes for iframe<\/li>\n<li>Test: WordPress 7.0-beta2<\/li>\n<\/ul>\n\n<h3>1.5.1 (2026-02-23)<\/h3>\n\n<ul>\n<li>Fix: Code editor missing on categories<\/li>\n<li>Cleanup: Remove debugging info<\/li>\n<li>Update: Screenshots<\/li>\n<\/ul>\n\n<h3>1.5.0 (2026-02-22)<\/h3>\n\n<ul>\n<li>Test: WordPress 7.0-beta1, Twenty Twenty-Five 1.4, PHP 8.5.3<\/li>\n<li>Fix: Missing code editor when creating a new article<\/li>\n<li>Fix: Incorrect use of <\/li>\n<li>Improve: Security (validate settings save data, better code filtering with included opening SCRIPT and STYLE tags)<\/li>\n<li>Optimize: Code editor on articles<\/li>\n<li>Optimize: Settings maintainability<\/li>\n<\/ul>\n\n<h3>1.4.6 (2025-12-01)<\/h3>\n\n<ul>\n<li>Test: WordPress 6.9RC3, Twenty Twenty-Five 1.3, PHP 8.4.15<\/li>\n<\/ul>\n\n<h3>1.4.5 (2025-06-13)<\/h3>\n\n<ul>\n<li>Fix: Compatibility with Jetpack &gt; Writing &gt; Composing &gt; Compose using shortcode to embed media from popular sites<\/li>\n<li>Fix: Automatic conversion of false to array is deprecated in update.php<\/li>\n<li>Test: WordPress 6.8.1, Twenty Twenty-Five 1.2, Jetpack 14.7<\/li>\n<\/ul>\n\n<p>https:\/\/youtu.be\/CXCWqNUQSF4<\/p>\n\n<h3>1.4.4 (2025-05-31)<\/h3>\n\n<ul>\n<li>Fix: Relaxed filtering to allow  preloadans security\/privacy attributes.<\/li>\n<\/ul>\n\n<h3>1.4.3 (2025-04-30)<\/h3>\n\n<ul>\n<li>Fix: Relaxed filtering to allow  blocks with <code>&lt;<\/code>, <code>&gt;<\/code>, <code>=&gt;<\/code> characters and <code>type=\"application\/ld+json\"<\/code> for structured data (rich snippets), following stricter sanitization introduced in 1.4.0.<\/li>\n<\/ul>\n\n<h3>1.4.2 (2025-04-20)<\/h3>\n\n<ul>\n<li>Fix: meta tag broken by security introduced in 1.4.0<\/li>\n<\/ul>\n\n<h3>1.4.1 (2025-04-13)<\/h3>\n\n<ul>\n<li>Fix: hreflang link broken by security introduced in 1.4.0<\/li>\n<\/ul>\n\n<h3>1.4.0 (2025-04-12)<\/h3>\n\n<ul>\n<li>Test: WordPress 6.8-RC3, Twenty Twenty-Five 1.1, Twenty Twenty-Three 1.6, Astra 4.9.2 and PHP 8.3.17<\/li>\n<li>Test: WordPress 4.9.26, Twenty Seventeen 1.7 and PHP 5.5.38<\/li>\n<li>Unclutter Settings page<\/li>\n<li>Improve: Security<\/li>\n<li>Improve: Refactor and reorganise codebase\n\n<ul>\n<li>auhfc_settings() -&gt; Techwebux\\Hfc\\Main::settings()<\/li>\n<li>auhfc_is_homepage_blog_posts() -&gt; Techwebux\\Hfc\\Common::is_homepage_blog_posts()<\/li>\n<li>auhfc_add_to_homepage_paged() -&gt; Techwebux\\Hfc\\Common::add_to_homepage_paged()<\/li>\n<li>sanitize_html_classes() -&gt; Techwebux\\Hfc\\Common::sanitize_html_classes()<\/li>\n<li>auhfc_allowed_code() -&gt; Techwebux\\Hfc\\Common::allowed_html()<\/li>\n<li>auhfc_form_allowed_code() -&gt; Techwebux\\Hfc\\Common::form_allowed_html()<\/li>\n<li>auhfc_html2code -&gt; Techwebux\\Hfc\\Common::html2code()<\/li>\n<li>auhfc_get_meta() -&gt; Techwebux\\Hfc\\Common::get_meta()<\/li>\n<li>auhfc_get_post_type() -&gt; Techwebux\\Hfc\\Common::get_post_type()<\/li>\n<li>auhfc_print_sitewide() -&gt; Techwebux\\Hfc\\Common::print_sitewide()<\/li>\n<li>auhfc_out() -&gt; Techwebux\\Hfc\\Common::out()<\/li>\n<li>auhfc_head_note() -&gt; Techwebux\\Hfc\\Settings::head_note()<\/li>\n<li>auhfc_body_note() -&gt; Techwebux\\Hfc\\Settings::body_note()<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>1.3.7 (2024-11-18)<\/h3>\n\n<ul>\n<li>Fix: Compatibility with WordPress 6.7<\/li>\n<\/ul>\n\n<h3>1.3.6 (2024-10-12)<\/h3>\n\n<ul>\n<li>Improve: Optimize strings for easier translation<\/li>\n<\/ul>\n\n<h3>1.3.5 (2024-07-06)<\/h3>\n\n<ul>\n<li>Tested: PHP 8.3.7 and WordPress 6.6 with Twenty Twenty-Four theme 1.1 (Single and Multisite)<\/li>\n<li>Change: Move the <code>Settings<\/code> link on plugins listing to 1st position<\/li>\n<\/ul>\n\n<h3>1.3.4 (2024-06-30)<\/h3>\n\n<ul>\n<li>Tested: PHP 8.3.7 and WordPress 6.5.5 with Twenty Twenty-Four theme 1.1 (Single and Multisite)<\/li>\n<li>Change: PHP version lowered to 5.5<\/li>\n<li>Fix: Activation on deprecated PHP or WordPress<\/li>\n<\/ul>\n\n<h3>1.3.3 (2023-07-21)<\/h3>\n\n<ul>\n<li>Tested: PHP 8.2.8 and WordPress 6.3-RC1 with Twenty Twenty-Three theme (Single and Multisite)<\/li>\n<\/ul>\n\n<h3>1.3.2 (2023-06-02)<\/h3>\n\n<ul>\n<li>Tested: on PHP 8.2.6 and WordPress 6.2.2 with Twenty Twenty-Three theme (Single and Multisite)<\/li>\n<li>Fixed: Deprecated and Warning notices in update.php on PHP 8.2.6<\/li>\n<li>Improve: Multisite support CodeMirror on Article and Category<\/li>\n<\/ul>\n\n<h3>1.3.1 (2023-03-18)<\/h3>\n\n<ul>\n<li>Tested: on PHP 8.1.14\/8.2.1 and WordPress 6.2-RC2 with Twenty Twenty-Three theme (Single and Multisite)<\/li>\n<li>Add: support do not add homepage in Blog Post related code on paged pages (2, 3, and so on)<\/li>\n<li>Add: CodeEditor on textareas in article Meta boxes<\/li>\n<li>Fix: Fatal error due to relocated plugin update file<\/li>\n<li>Cleanup: Remove donate button from settings page<\/li>\n<li>Improve: Security.<\/li>\n<li>Improve: Coding Standard.<\/li>\n<\/ul>\n\n<h3>1.3.0 (2022-05-08)<\/h3>\n\n<ul>\n<li>Tested: on PHP 8.1.5 and WordPress 6.0-RC1 with Twenty Twenty-Two theme (Single and Multisite)<\/li>\n<li>Add: Support for Categotry specific code.<\/li>\n<li>Improve: Coding Standard.<\/li>\n<li>Improve: Important notes on settings page.<\/li>\n<li>Improve: README converted to MarkDown.<\/li>\n<li>Improve: Remove PayPal logo and load minified admin stylesheet.<\/li>\n<\/ul>","raw_excerpt":"Easy add site-wide, category and article specific custom code before the closing &lt;\/head&gt; and &lt;\/body&gt;, or after opening &lt;body&gt; tag.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/38218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=38218"}],"author":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/urkekg"}],"wp:attachment":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=38218"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=38218"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=38218"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=38218"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=38218"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=38218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}