{"id":88803,"date":"2018-07-18T04:16:33","date_gmt":"2018-07-18T04:16:33","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wp-smart-content\/"},"modified":"2025-12-20T19:13:10","modified_gmt":"2025-12-20T19:13:10","slug":"wp-smart-content","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/wp-smart-content\/","author":16032198,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3.4","stable_tag":"1.3.4","tested":"6.9.4","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"WP Smart Content","header_author":"Vinod Sebastian","header_description":"WP Smart Content help us add content to the wordpress template in a simple and smart way. The code block can be provided a name and can be added to specific posts or pages or can be added site-wide. The plugin can push varied content like html, javascript, css to different parts of the wordpress page.","assets_banners_color":"dcd7d1","last_updated":"2025-12-20 19:13:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/vinodsebastian.com","rating":0,"author_block_rating":0,"active_installs":10,"downloads":2463,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"vinodsebastian","date":"2018-07-18 15:31:25"},"1.0.1":{"tag":"1.0.1","author":"vinodsebastian","date":"2020-12-26 13:42:54"},"1.1.0":{"tag":"1.1.0","author":"vinodsebastian","date":"2021-06-21 04:52:40"},"1.1.1":{"tag":"1.1.1","author":"vinodsebastian","date":"2021-06-23 01:55:00"},"1.1.2":{"tag":"1.1.2","author":"vinodsebastian","date":"2021-06-23 11:27:35"},"1.1.3":{"tag":"1.1.3","author":"vinodsebastian","date":"2021-06-26 07:49:53"},"1.1.4":{"tag":"1.1.4","author":"vinodsebastian","date":"2022-08-07 12:25:23"},"1.2.0":{"tag":"1.2.0","author":"vinodsebastian","date":"2025-11-15 18:46:00"},"1.2.1":{"tag":"1.2.1","author":"vinodsebastian","date":"2025-11-15 19:37:57"},"1.2.10":{"tag":"1.2.10","author":"vinodsebastian","date":"2025-11-26 08:04:42"},"1.2.11":{"tag":"1.2.11","author":"vinodsebastian","date":"2025-11-27 10:04:09"},"1.2.12":{"tag":"1.2.12","author":"vinodsebastian","date":"2025-11-29 07:52:53"},"1.2.13":{"tag":"1.2.13","author":"vinodsebastian","date":"2025-12-03 09:05:16"},"1.2.14":{"tag":"1.2.14","author":"vinodsebastian","date":"2025-12-06 19:32:06"},"1.2.15":{"tag":"1.2.15","author":"vinodsebastian","date":"2025-12-07 09:57:52"},"1.2.2":{"tag":"1.2.2","author":"vinodsebastian","date":"2025-11-16 11:14:53"},"1.2.3":{"tag":"1.2.3","author":"vinodsebastian","date":"2025-11-17 10:36:09"},"1.2.4":{"tag":"1.2.4","author":"vinodsebastian","date":"2025-11-23 08:45:50"},"1.2.5":{"tag":"1.2.5","author":"vinodsebastian","date":"2025-11-23 09:27:32"},"1.2.6":{"tag":"1.2.6","author":"vinodsebastian","date":"2025-11-24 00:54:52"},"1.2.7":{"tag":"1.2.7","author":"vinodsebastian","date":"2025-11-24 07:58:21"},"1.2.8":{"tag":"1.2.8","author":"vinodsebastian","date":"2025-11-24 15:29:31"},"1.2.9":{"tag":"1.2.9","author":"vinodsebastian","date":"2025-11-25 18:50:35"},"1.3.0":{"tag":"1.3.0","author":"vinodsebastian","date":"2025-12-12 04:41:31"},"1.3.1":{"tag":"1.3.1","author":"vinodsebastian","date":"2025-12-12 04:39:35"},"1.3.2":{"tag":"1.3.2","author":"vinodsebastian","date":"2025-12-12 16:47:35"},"1.3.3":{"tag":"1.3.3","author":"vinodsebastian","date":"2025-12-13 22:28:25"},"1.3.4":{"tag":"1.3.4","author":"vinodsebastian","date":"2025-12-20 19:13:10"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1912617,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1912617,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3424343,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3424343,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.2.0","1.2.1","1.2.10","1.2.11","1.2.12","1.2.13","1.2.14","1.2.15","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3424343,"resolution":"1","location":"assets","locale":""},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3424343,"resolution":"10","location":"assets","locale":""},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3424343,"resolution":"11","location":"assets","locale":""},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3424357,"resolution":"12","location":"assets","locale":""},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3424354,"resolution":"13","location":"assets","locale":""},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3424354,"resolution":"14","location":"assets","locale":""},"screenshot-15.png":{"filename":"screenshot-15.png","revision":3424343,"resolution":"15","location":"assets","locale":""},"screenshot-16.png":{"filename":"screenshot-16.png","revision":3424343,"resolution":"16","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3424343,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3424343,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3424343,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3424354,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3424357,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3424343,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3424343,"resolution":"8","location":"assets","locale":""},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3424343,"resolution":"9","location":"assets","locale":""}},"screenshots":{"1":"Block List","2":"Block List with Pagination and Bulk actions","3":"Block Form with Block Name and Block Content","4":"Block Form with Block Name and Block Content (Error)","5":"Block Form with Injection Point #1","6":"Block Form with Injection Point #2","7":"Block Form with Raw Mode and Target Scope","8":"Block Form with Target Posts \/ Pages","9":"Block Form with Priority, Schedule, and Geotargeting","10":"Block Form with Save as Revisions","11":"Revision Block","12":"Classic Hooks Reference","13":"Block Hooks Reference (WordPress 6.8+)","14":"Optional Context Hooks Reference","15":"Injecting content anywhere on the theme from blocks UI - Placement","16":"Injecting content anywhere on the theme from blocks UI - Injection Point"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2730,228272,92750,252175,4062],"plugin_category":[40],"plugin_contributors":[154547],"plugin_business_model":[],"class_list":["post-88803","plugin","type-plugin","status-publish","hentry","plugin_tags-ad-management","plugin_tags-add-style","plugin_tags-customize-theme","plugin_tags-header-and-footer-script","plugin_tags-schedule","plugin_category-calendar-and-events","plugin_contributors-vinodsebastian","plugin_committers-vinodsebastian"],"banners":{"banner":"https:\/\/ps.w.org\/wp-smart-content\/assets\/banner-772x250.png?rev=3424343","banner_2x":"https:\/\/ps.w.org\/wp-smart-content\/assets\/banner-1544x500.png?rev=3424343","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wp-smart-content\/assets\/icon-128x128.png?rev=1912617","icon_2x":"https:\/\/ps.w.org\/wp-smart-content\/assets\/icon-256x256.png?rev=1912617","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-1.png?rev=3424343","caption":"Block List"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-2.png?rev=3424343","caption":"Block List with Pagination and Bulk actions"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-3.png?rev=3424343","caption":"Block Form with Block Name and Block Content"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-4.png?rev=3424343","caption":"Block Form with Block Name and Block Content (Error)"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-5.png?rev=3424354","caption":"Block Form with Injection Point #1"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-6.png?rev=3424357","caption":"Block Form with Injection Point #2"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-7.png?rev=3424343","caption":"Block Form with Raw Mode and Target Scope"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-8.png?rev=3424343","caption":"Block Form with Target Posts \/ Pages"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-9.png?rev=3424343","caption":"Block Form with Priority, Schedule, and Geotargeting"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-10.png?rev=3424343","caption":"Block Form with Save as Revisions"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-11.png?rev=3424343","caption":"Revision Block"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-12.png?rev=3424357","caption":"Classic Hooks Reference"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-13.png?rev=3424354","caption":"Block Hooks Reference (WordPress 6.8+)"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-14.png?rev=3424354","caption":"Optional Context Hooks Reference"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-15.png?rev=3424343","caption":"Injecting content anywhere on the theme from blocks UI - Placement"},{"src":"https:\/\/ps.w.org\/wp-smart-content\/assets\/screenshot-16.png?rev=3424343","caption":"Injecting content anywhere on the theme from blocks UI - Injection Point"}],"raw_content":"<!--section=description-->\n<p>Easily inject HTML, CSS, JS, styles, scripts &amp; tracking code via hooks \/ shortcodes with safe mode, scheduling, revisioning &amp; geotargeting.<\/p>\n\n<p>https:\/\/www.youtube.com\/watch?v=EGcpAotBoZU<\/p>\n\n<p>https:\/\/www.youtube.com\/watch?v=JQlmAbAFeyU<\/p>\n\n<h3>\u23f1 Schedule when you want<\/h3>\n\n<p>Define start and end dates so snippets appear only when needed \u2014 ideal for campaigns, seasonal banners, or compliance notices.<\/p>\n\n<h3>\ud83d\udccd Publish where you want<\/h3>\n\n<p>Inject HTML, JavaScript, or CSS styles into any WordPress hook \u2014 Classic or Block Hook \u2014 without editing templates. Embed blocks directly inside posts, pages, or widgets using shortcodes.<\/p>\n\n<h3>\ud83c\udf0d Filter where you want<\/h3>\n\n<p>Control visibility across WordPress sections: all, frontend, posts, pages, backend (Admin), authentication, and system pages. Apply filters to selected posts or pages for complete flexibility.<\/p>\n\n<h3>\ud83c\udf10 Target who you want<\/h3>\n\n<p>Use geotargeting to display blocks only to visitors from selected countries. Configure rules to include or exclude specific regions.<\/p>\n\n<h3>\ud83d\udd12 Manage safely by whom you want<\/h3>\n\n<p>Administrators can use Raw Mode (unfiltered output) or Safe Mode (sanitized injection). Non-admins can be granted limited Safe Mode access via the <code>wpsc_admin<\/code> capability, making delegation secure.<\/p>\n\n<h3>\ud83d\uddc2 Revision when you want<\/h3>\n\n<p>Retrieve, compare, and restore block editor content with full revision management. Delete outdated revisions safely to keep the database clean and audit-friendly.<\/p>\n\n<h3>\ud83d\udd8a\ufe0f Edit how you want<\/h3>\n\n<p>Includes a built-in editor with dedicated sections for HTML, CSS, and JavaScript, plus Preview and Error panels. Syntax highlighting improves readability, while instant error feedback ensures safe workflows.<\/p>\n\n<h3>\u2705 Why WP Smart Content?<\/h3>\n\n<p>By combining scheduling, hook targeting, filtering, geotargeting, role-based permissions, revisioning, and a syntax-highlighted editor, WP Smart Content ensures snippets are placed exactly where and when you want them \u2014 managed safely by the right people. It\u2019s a compliance-ready, SEO-friendly solution that keeps your WordPress site secure, scalable, and easy to maintain. Supports Classic &amp; Block Hooks, grouped dropdowns, translation readiness, and a reviewer-friendly modular codebase with clear documentation.<\/p>\n\n<h3>\u2728 Key Features<\/h3>\n\n<ul>\n<li><strong>Classic Hooks<\/strong>: Inject content into wp_head, wp_footer, styles, scripts, meta, and footer scripts.  <\/li>\n<li><strong>Block Hooks (WP 6.8+)<\/strong>: Add content anywhere via the block editor UI.  <\/li>\n<li><strong>Grouped dropdowns<\/strong>: Organized separation of Classic and Block Hooks in admin.  <\/li>\n<li><strong>Translation ready<\/strong>: Updated .pot file for localization.  <\/li>\n<li><strong>Reviewer-friendly<\/strong>: Modular code, clear docs, and WordPress coding standards compliance.  <\/li>\n<\/ul>\n\n<h3>\ud83d\udca1 Use Cases<\/h3>\n\n<ul>\n<li>Add a script to the &lt;head&gt; section without editing theme files.  <\/li>\n<li>Insert HTML into the &lt;footer&gt; for custom notices or widgets.  <\/li>\n<li>Push CSS before WordPress outputs styles for precise control.  <\/li>\n<li>Inject a notice after post content using Block Hooks.  <\/li>\n<li>Manage analytics or marketing tags centrally, without touching templates.  <\/li>\n<li>Schedule snippets to run only during campaigns or seasonal events.  <\/li>\n<li>Delegate Safe Mode CSS editing to a designer or contributor without exposing Raw Mode or sensitive site access.  <\/li>\n<li>Display region-specific banners or compliance notices using geotargeting (include\/exclude selected countries).  <\/li>\n<li>Control visibility across frontend, posts, pages, admin, authentication, or system pages with scope targeting.  <\/li>\n<\/ul>\n\n<h3>\ud83d\udd17 Few Supported Hooks<\/h3>\n\n<h4><strong>Classic Hooks<\/strong><\/h4>\n\n<ul>\n<li>wp_head \u2013 Injects content into the '&lt;head&gt;' section before closing tag  <\/li>\n<li>wp_footer \u2013 Injects content into the '&lt;body&gt;' section before closing tag  <\/li>\n<li>wp_print_styles \u2013 Injects content before WordPress outputs enqueued styles  <\/li>\n<li>wp_print_scripts \u2013 Injects content before WordPress outputs enqueued scripts  <\/li>\n<li>wp_meta \u2013 Injects content into the meta section of the sidebar  <\/li>\n<li>wp_print_footer_scripts \u2013 Injects content before WordPress outputs footer scripts  <\/li>\n<\/ul>\n\n<h4><strong>Block Hooks (WordPress 6.8+)<\/strong><\/h4>\n\n<ul>\n<li>after_post_content \u2013 Injects content immediately after the post content block  <\/li>\n<li>before_post_content \u2013 Injects content immediately before the post content block  <\/li>\n<li>after_comments \u2013 Injects content after the comments block  <\/li>\n<li>before_comments \u2013 Injects content before the comments block  <\/li>\n<li>after_entry_title \u2013 Injects content after the entry\/post title block  <\/li>\n<li>before_entry_title \u2013 Injects content before the entry\/post title block  <\/li>\n<\/ul>\n\n<h4><strong>Optional Context Hooks<\/strong><\/h4>\n\n<ul>\n<li>admin_head \u2013 Injects content into the '&lt;head&gt;' section of admin pages  <\/li>\n<li>admin_footer \u2013 Injects content into the '&lt;footer&gt;' section of admin pages  <\/li>\n<li>login_head \u2013 Injects content into the '&lt;head&gt;' section of the login page  <\/li>\n<li>login_footer \u2013 Injects content into the '&lt;footer&gt;' section of the login page  <\/li>\n<li>enqueue_block_assets \u2013 Injects content when block editor assets are loaded<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<p>Administrators have access to both Raw and Safe modes. Trusted non-administrators can be granted access to pre-created blocks in Safe mode by assigning the 'wpsc_admin' capability to their role, either through a role editor plugin or via custom code.<\/p>\n\n<h3>Creating Blocks in WordPress Admin (From the plugin dashboard)<\/h3>\n\n<ol>\n<li>Install and activate WP Smart Content from the WordPress Plugins screen.  <\/li>\n<li>Go to WP Smart Content \u2192 Add New Block in the admin menu.  <\/li>\n<li>Enter a descriptive block name.  <\/li>\n<li>Paste your HTML, CSS, or JavaScript into the respective tabs of the block editor.  <\/li>\n<li>Select the desired mode: Raw Mode (unfiltered output) or Safe Mode (sanitized injection).  <\/li>\n<li>Choose where to inject the block, such as:<br \/>\n\n<ul>\n<li>Header (wp_head) for scripts or tracking code  <\/li>\n<li>Footer (wp_footer) for notices or widgets  <\/li>\n<li>Before\/after post content for banners or messages  <\/li>\n<li>Block Hooks (WordPress 6.8+) for precise placement in the block editor  <\/li>\n<li>Other classic hooks such as wp_print_scripts or wp_meta  <\/li>\n<\/ul><\/li>\n<li>Configure targeting options:<br \/>\n\n<ul>\n<li>Apply globally (All) or across specific site sections (Frontend, All Posts, All Pages, Backend, Authentication, System Pages) using Target Scopes  <\/li>\n<li>Restrict visibility to selected posts or pages  <\/li>\n<\/ul><\/li>\n<li>Set priority to control execution order when multiple blocks use the same hook.  <\/li>\n<li>Define scheduling by assigning start and end dates so snippets appear only when needed.  <\/li>\n<li>Configure geotargeting to display blocks based on inclusion or exclusion of selected countries.  <\/li>\n<li>Enable revision saving by checking the \"Save to revisions\" option.  <\/li>\n<li>Publish the block.  <\/li>\n<li>Result: Your scripts, styles, or HTML are injected as configured. Blocks can be managed from the block listing \u2014 edit, enable\/disable, publish\/unpublish, or delete anytime.<\/li>\n<\/ol>\n\n<h3>Using the Block Editor to Insert Blocks (Placing directly into templates)<\/h3>\n\n<ol>\n<li>Once WP Smart Content is activated, open the Site Editor (Appearance \u2192 Editor) for your block theme.  <\/li>\n<li>Locate Block Hook areas (header, footer, before\/after post content, sidebar).  <\/li>\n<li>From the block inserter (+), add the \"WP Smart Content\" block or select an existing block to edit its injection hook.  <\/li>\n<li>Use WP Smart Content settings in the right sidebar (Block tab) to select an injection hook. This links your stored block snippet to the chosen hook.  <\/li>\n<li>Save the template. Your snippet will be injected automatically at the chosen location.  <\/li>\n<li>Result: Scripts, styles, or HTML from the block editor are added via the Block UI without editing theme files, fully compatible with block themes.<\/li>\n<\/ol>\n\n<h3>Using Shortcodes to Insert Blocks (Place inline within posts, pages, or widgets)<\/h3>\n\n<ol>\n<li>Place the shortcode directly in your post, page, or widget: <code>[wp_smart_content name=\"blockname\"]<\/code>  <\/li>\n<li>Replace \"blockname\" with the name of your Smart Content block.  <\/li>\n<li>Result: Scripts, styles, or HTML from the block editor are added at the exact position where the shortcode is placed, respecting publish status, scheduling, and geotargeting.  <\/li>\n<li>Example:<br \/>\n   [wp_smart_content name=\"header-banner\"]<br \/>\n\u2192 This will display the \"Header Banner\" block inline inside your post or page content.<\/li>\n<\/ol>\n\n<h3>Geotargeting Setup Notes<\/h3>\n\n<p>WP Smart Content provides geotargeting support using two options:<\/p>\n\n<ol>\n<li><p>Default (Country.is API)<\/p>\n\n<ul>\n<li>No setup required.  <\/li>\n<li>Uses the free Country.is API to detect visitor country by IP. <\/li>\n<li>Ideal for lightweight use cases such as banners, compliance notices, or regional campaigns.  <\/li>\n<\/ul><\/li>\n<li><p>Fallback \/ Advanced (MaxMind GeoLite2 Database)<\/p>\n\n<ul>\n<li>For users who prefer to store IP data locally.  <\/li>\n<li>Requires the GeoLite2 Country database (MMDB format) created and licensed by MaxMind.  <\/li>\n<li>Due to licensing restrictions, the database cannot be redistributed within this plugin.  <\/li>\n<li>Users must download and update the database directly from MaxMind.  <\/li>\n<\/ul><\/li>\n<\/ol>\n\n<p>Steps to enable MaxMind fallback:<\/p>\n\n<ol>\n<li>Create a free account at https:\/\/www.maxmind.com.  <\/li>\n<li>Download the GeoLite2 Country database (MMDB format).  <\/li>\n<li>After downloading the GeoLite2 Country database (GeoLite2-Country.mmdb), place the file here: \n   \/wp-content\/plugins\/wp-smart-content\/maxmind-db-reader\/data\/GeoLite2-Country.mmdb <\/li>\n<li>Update the database regularly as required (MaxMind releases monthly updates).  <\/li>\n<\/ol>\n\n<p>Result:<br \/>\n- By default, WP Smart Content uses Country.is for geotargeting.<br \/>\n- If the MaxMind database is present at the path above, the plugin will use it instead, allowing local IP lookups and more control over data storage.<br \/>\n- If both methods fail, WP Smart Content defaults to rendering content to avoid breaking site functionality.<\/p>\n\n<h3>Credits<\/h3>\n\n<p>This plugin bundles the following third-party libraries:<\/p>\n\n<ul>\n<li><p>Tagify (https:\/\/github.com\/yairEO\/tagify)<br \/>\nReleased under the MIT License<br \/>\nCopyright (c) Panayiotis Lipiridis<\/p><\/li>\n<li><p>Flag Icons (https:\/\/github.com\/lipis\/flag-icons)<br \/>\nReleased under the MIT License<br \/>\nCopyright (c) Panayiotis Lipiridis<\/p><\/li>\n<li><p>MaxMind DB Reader (https:\/\/github.com\/maxmind\/MaxMind-DB-Reader-php)<br \/>\nReleased under the Apache License, Version 2.0<br \/>\nCopyright (c) MaxMind, Inc.<br \/>\nUsed to read GeoLite2 databases for geotargeting support.<br \/>\nGeoLite2 data created by MaxMind, available from https:\/\/www.maxmind.com.<\/p><\/li>\n<\/ul>\n\n<h3>Licensing Notes<\/h3>\n\n<ul>\n<li>This plugin itself is licensed under GPLv2 or later, in accordance with WordPress.org requirements.  <\/li>\n<li>Tagify remains under its original MIT License. The MIT license file is included in this plugin\u2019s distribution.  <\/li>\n<li>Flag Icons remains under its original MIT License. The MIT license file is included in this plugin\u2019s distribution.  <\/li>\n<li>MaxMind DB Reader is licensed under the Apache License, Version 2.0. The Apache 2.0 license file is included in this plugin\u2019s distribution.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload 'wp-smart-content' to the '\/wp-content\/plugins\/' directory.  <\/li>\n<li>Activate the plugin through the <em>Plugins<\/em> menu in WordPress.  <\/li>\n<li>A new top-level menu called <em>WP Smart Content<\/em> appears in the WordPress admin sidebar.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='why%20doesn%E2%80%99t%20my%20header%20script%20show%20up%3F'><h3>Why doesn\u2019t my header script show up?<\/h3><\/dt>\n<dd><p>The template may not support the chosen hook. Don\u2019t worry \u2014 it won\u2019t break your site.<\/p><\/dd>\n<dt id='my%20site%20broke%20after%20installation%21'><h3>My site broke after installation!<\/h3><\/dt>\n<dd><p>Unpublish or delete the content pushed through the plugin. Ensure the content added is valid HTML, CSS, or JavaScript.<\/p><\/dd>\n<dt id='i%20still%20have%20plugin%20conflicts%20or%20the%20site%20looks%20messy.'><h3>I still have plugin conflicts or the site looks messy.<\/h3><\/dt>\n<dd><p>Try selectively disabling other plugins to identify conflicts.<\/p><\/dd>\n<dt id='how%20do%20i%20uninstall%20the%20plugin%3F'><h3>How do I uninstall the plugin?<\/h3><\/dt>\n<dd><p>Just uninstall it. No residual data or issues will remain.<\/p>\n\n<p>More questions? Please use the WordPress.org support forum for WP Smart Content: https:\/\/wordpress.org\/support\/plugin\/wp-smart-content<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial launch.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed AJAX content deletion bug caused by jQuery.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Revamped code.  <\/li>\n<li>Improved user experience.  <\/li>\n<li>Added ability to update content.  <\/li>\n<li>Fixed frontend display bug.  <\/li>\n<li>Small enhancements.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fixed CSS side effects.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fixed minor bugs.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fixed major bug.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Enhancements.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Major restructuring and modularization of files for cleaner architecture and easier maintenance.  <\/li>\n<li>Updated admin UI to align with WordPress theme.  <\/li>\n<li>Added translation readiness.  <\/li>\n<li>Extended support for WordPress 6.8 Block Hooks API and additional injection points.  <\/li>\n<li>Introduced Raw Mode toggle (admins only) with Safe Mode fallback for non-admins.  <\/li>\n<li>Improved pagination controls for block lists.  <\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed major bug with block hooks API display.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fixed major bug with block hooks API display.<\/li>\n<li>Added more Injection points.<\/li>\n<li>Added ability to inject content anywhere on the theme from blocks UI.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Corrected typos and improved readability<\/li>\n<li>Enhanced user interface for better usability<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Added new capability 'wpsc_admin' for finer access control.<\/li>\n<li>Minor updates and improvements.<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Improved cleanup on uninstall (removes custom capability from Administrator role).<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Enhanced admin UI with accessibility improvements.<\/li>\n<li>Strengthened error handling for insert\/update actions \u2014 admins now see proper notices if saving fails.<\/li>\n<li>Added Priority support using native 'menu_order' (default 0). Blocks at the same injection point are injected in ascending order of priority.<\/li>\n<li>Introduced Content Type badges (TEXT, HTML, JS, CSS) in the list table for instant visibility of block composition.<\/li>\n<li>General security and compliance refinements.<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Added scheduling facility with start\/end date controls for blocks.<\/li>\n<li>Introduced visual badges in the dashboard to indicate block states (active, scheduled, expired).<\/li>\n<li>Improved upgrade routines to backfill scheduling and priority metadata for existing blocks.<\/li>\n<li>Minor code cleanup and translation updates.<\/li>\n<\/ul>\n\n<h4>1.2.8<\/h4>\n\n<ul>\n<li>Resolved bug in frontend display.<\/li>\n<\/ul>\n\n<h4>1.2.9<\/h4>\n\n<ul>\n<li>Minor UI refinements.<\/li>\n<\/ul>\n\n<h4>1.2.10<\/h4>\n\n<ul>\n<li>Added shortcode [wp_smart_content name=\"blockname\"] for inline block injection based on schedules.<\/li>\n<\/ul>\n\n<h4>1.2.11<\/h4>\n\n<ul>\n<li>Improvements to list view.<\/li>\n<li>Minor correction to block duplication code.<\/li>\n<\/ul>\n\n<h4>1.2.12<\/h4>\n\n<ul>\n<li>Minor UI refinements.<\/li>\n<li>Minor bug corrections.<\/li>\n<\/ul>\n\n<h4>1.2.13<\/h4>\n\n<ul>\n<li>Confirmed compatibility with WordPress 6.9<\/li>\n<\/ul>\n\n<h4>1.2.14<\/h4>\n\n<ul>\n<li>Corrected TinyMCE content issues while switching between Visual\/Text tabs for consistent behavior using Babel and PostCSS.<\/li>\n<\/ul>\n\n<h4>1.2.15<\/h4>\n\n<ul>\n<li>Fixed TinyMCE content issues when switching Visual\/Text tabs.<\/li>\n<li>Removed PostCSS dependency for simpler cleanup.<\/li>\n<li>Added delete confirmations and clearer save\/unpublish messages.<\/li>\n<li>Improved overall UX consistency.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added ability to retrieve old saved revisions of editor content inside a Block.<\/li>\n<li>Introduced option to delete outdated editor revisions of a block.<\/li>\n<li>Fixed TinyMCE content issues when switching between Visual and Text tabs.<\/li>\n<li>Improved overall UX consistency across revision management and editor workflows.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Added missing files.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Updated language file.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Switched editor from TinyMCE to CodeMirror for a modern, developer-friendly snippet editing experience.<\/li>\n<li>Introduced custom Preview and Error tabs, enabling validation and runtime feedback.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Improved overall UX with minor refinements and interface adjustments.  <\/li>\n<li>Added geotargeting support to display blocks based on selected countries.  <\/li>\n<li>Enhanced scope targeting to control visibility across frontend, posts, pages, admin, authentication, and system pages.<\/li>\n<\/ul>","raw_excerpt":"Easily inject HTML, CSS, JS, styles, scripts &amp; tracking code via hooks \/ shortcodes with safe mode, scheduling, revisioning &amp; geotargeting.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/88803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=88803"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vinodsebastian"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=88803"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=88803"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=88803"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=88803"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=88803"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=88803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}