[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhKl1J9gn9uBNgRr0DrI99GVvC_F06mmO3F05XH1m2PI":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":35,"analysis":140,"fingerprints":241},"signalfire-expire-content","Signalfire Expire Content","1.0.0","Robert Coster","https:\u002F\u002Fprofiles.wordpress.org\u002Fsignalfirecouk\u002F","\u003Cp>Signalfire Expire Content allows you to set expiration dates and times for your WordPress posts and pages. When content expires, you can choose to automatically change it to draft status or redirect visitors to a custom URL.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Set expiration date and time for posts and pages\u003C\u002Fli>\n\u003Cli>Choose expiration action: change to draft or redirect to URL\u003C\u002Fli>\n\u003Cli>Easy-to-use metabox on post\u002Fpage edit screens\u003C\u002Fli>\n\u003Cli>Admin column showing expiration status\u003C\u002Fli>\n\u003Cli>Automatic expiration checking on frontend\u003C\u002Fli>\n\u003Cli>Security-focused with proper nonces and sanitization\u003C\u002Fli>\n\u003Cli>Multilingual ready with translation support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Perfect for:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Time-sensitive content like promotions or events\u003C\u002Fli>\n\u003Cli>Temporary pages that need automatic removal\u003C\u002Fli>\n\u003Cli>Content that should redirect after a certain date\u003C\u002Fli>\n\u003Cli>Managing seasonal or limited-time offers\u003C\u002Fli>\n\u003C\u002Ful>\n","Adds expiration functionality to posts and pages with customizable actions when content expires.",0,200,"2025-08-16T21:03:00.000Z","6.8.5","5.0","7.4",[18,19,20,21,22],"content","expiration","pages","posts","scheduling","https:\u002F\u002Fsignalfire.co.uk","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsignalfire-expire-content.1.0.0.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"signalfirecouk",2,30,94,"2026-04-05T01:26:33.925Z",[36,59,76,101,119],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":12,"downloaded":44,"rating":45,"num_ratings":31,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":16,"tags":49,"homepage":55,"download_link":56,"security_score":57,"vuln_count":31,"unpatched_count":11,"last_vuln_date":58,"fetched_at":27},"postpage-import-export-with-custom-fields-taxonomies","Post\u002FPage Import Export – Migrate Content with Custom Fields & Taxonomies","2.1.0","wpspin","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpspin\u002F","\u003Cp>📦 \u003Cstrong>Post\u002FPage Import & Export\u003C\u002Fstrong> makes it easy to migrate content between WordPress sites — no database dumps, no complex migration tools.\u003C\u002Fp>\n\u003Cp>With a single click, export any post or page as a lightweight \u003Cstrong>JSON file\u003C\u002Fstrong> that includes everything: content, custom fields, taxonomies, featured images, and ACF data. Then upload that file on another WordPress site to instantly recreate the content.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Just click, download, upload, done.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>✨ Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>📤 \u003Cstrong>One-Click Export\u003C\u002Fstrong> — Export any post or page as a JSON file directly from the list view\u003C\u002Fli>\n\u003Cli>📥 \u003Cstrong>Quick Import\u003C\u002Fstrong> — Import JSON files via a simple popup modal\u003C\u002Fli>\n\u003Cli>🖼️ \u003Cstrong>Featured Image Transfer\u003C\u002Fstrong> — Automatically downloads and re-attaches featured images on the destination site\u003C\u002Fli>\n\u003Cli>🏷️ \u003Cstrong>Taxonomy Preservation\u003C\u002Fstrong> — Categories, tags, and custom taxonomies are fully preserved\u003C\u002Fli>\n\u003Cli>📝 \u003Cstrong>Custom Fields \u002F PostMeta\u003C\u002Fstrong> — All custom field data is carried over during migration\u003C\u002Fli>\n\u003Cli>🔧 \u003Cstrong>ACF Support\u003C\u002Fstrong> — Advanced Custom Fields including nested repeaters up to 5 levels deep\u003C\u002Fli>\n\u003Cli>🖼️ \u003Cstrong>Inline Image Handling\u003C\u002Fstrong> — Images embedded in post content are downloaded and URLs are updated automatically\u003C\u002Fli>\n\u003Cli>📄 \u003Cstrong>Custom Post Types\u003C\u002Fstrong> — Works with any registered post type, not just posts and pages\u003C\u002Fli>\n\u003Cli>🏗️ \u003Cstrong>Page Builder Friendly\u003C\u002Fstrong> — Compatible with Elementor, WPBakery, Beaver Builder, and more\u003C\u002Fli>\n\u003Cli>🔒 \u003Cstrong>Secure\u003C\u002Fstrong> — Only administrators can export content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>💡 Use Cases\u003C\u002Fh4>\n\u003Col>\n\u003Cli>🌐 \u003Cstrong>Cross-Site Content Migration\u003C\u002Fstrong> — Move posts or pages from a staging site to production without database migration\u003C\u002Fli>\n\u003Cli>📋 \u003Cstrong>Content Duplication\u003C\u002Fstrong> — Clone a post or page within the same site with all its metadata intact\u003C\u002Fli>\n\u003Cli>🏗️ \u003Cstrong>Staging to Production\u003C\u002Fstrong> — Build pages on staging and deploy to the live site via JSON export\u002Fimport\u003C\u002Fli>\n\u003Cli>🔄 \u003Cstrong>Multi-Site Content Sharing\u003C\u002Fstrong> — Share content across a multisite network or between independent installs\u003C\u002Fli>\n\u003Cli>📦 \u003Cstrong>Content Backup\u003C\u002Fstrong> — Export critical posts as JSON backups before making major changes\u003C\u002Fli>\n\u003Cli>👨‍💻 \u003Cstrong>Developer Handoff\u003C\u002Fstrong> — Share pre-built pages with clients or team members as portable JSON files\u003C\u002Fli>\n\u003Cli>🛒 \u003Cstrong>WooCommerce Product Migration\u003C\u002Fstrong> — Move product pages with custom fields between stores\u003C\u002Fli>\n\u003Cli>📰 \u003Cstrong>Editorial Workflow\u003C\u002Fstrong> — Export drafted content for offline review and re-import after approval\u003C\u002Fli>\n\u003Cli>🎨 \u003Cstrong>Template Distribution\u003C\u002Fstrong> — Create a page with ACF fields and page builder layouts, distribute as JSON\u003C\u002Fli>\n\u003Cli>🧪 \u003Cstrong>A\u002FB Testing\u003C\u002Fstrong> — Duplicate pages quickly to test different content versions while preserving all metadata\u003C\u002Fli>\n\u003Cli>🏫 \u003Cstrong>Demo Content Setup\u003C\u002Fstrong> — Set up demo content on fresh WordPress installations for training or presentations\u003C\u002Fli>\n\u003Cli>🔀 \u003Cstrong>Theme Migration\u003C\u002Fstrong> — Export key pages and re-import them when switching themes to preserve structured content\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>📋 What Gets Exported\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>✅ Post title, content, and excerpt\u003C\u002Fli>\n\u003Cli>✅ Post status and post type\u003C\u002Fli>\n\u003Cli>✅ Featured image (auto-downloaded on import)\u003C\u002Fli>\n\u003Cli>✅ All custom fields \u002F postmeta\u003C\u002Fli>\n\u003Cli>✅ Categories, tags, and custom taxonomies\u003C\u002Fli>\n\u003Cli>✅ ACF fields (including nested repeaters and image fields)\u003C\u002Fli>\n\u003Cli>✅ Inline images in content (auto-downloaded and URLs updated)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🤝 Works Great With These Popular Plugins\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>🔧 \u003Cstrong>Advanced Custom Fields (ACF)\u003C\u002Fstrong> — Full support for ACF fields including nested repeaters and image fields\u003C\u002Fli>\n\u003Cli>🏗️ \u003Cstrong>Elementor\u003C\u002Fstrong> — All layout data stored in postmeta is preserved during export\u002Fimport\u003C\u002Fli>\n\u003Cli>🏗️ \u003Cstrong>WPBakery Page Builder\u003C\u002Fstrong> — Shortcode-based layouts in post content transfer seamlessly\u003C\u002Fli>\n\u003Cli>🦫 \u003Cstrong>Beaver Builder\u003C\u002Fstrong> — Page builder data in custom fields is carried over\u003C\u002Fli>\n\u003Cli>🛒 \u003Cstrong>WooCommerce\u003C\u002Fstrong> — Migrate product pages with all custom fields and taxonomies\u003C\u002Fli>\n\u003Cli>📝 \u003Cstrong>Yoast SEO\u003C\u002Fstrong> — SEO metadata (title, description, focus keyword) is exported and imported\u003C\u002Fli>\n\u003Cli>📝 \u003Cstrong>Rank Math\u003C\u002Fstrong> — All SEO metadata stored in custom fields is preserved\u003C\u002Fli>\n\u003Cli>🖼️ \u003Cstrong>Meta Box\u003C\u002Fstrong> — Custom fields created with Meta Box are included in the export\u003C\u002Fli>\n\u003Cli>🔁 \u003Cstrong>WPML\u003C\u002Fstrong> — Export translated content individually and import on multilingual sites\u003C\u002Fli>\n\u003Cli>🗂️ \u003Cstrong>Custom Post Type UI\u003C\u002Fstrong> — Works with any custom post type registered by CPT UI\u003C\u002Fli>\n\u003C\u002Ful>\n","Export and import WordPress posts & pages as JSON files with full support for custom fields, taxonomies, ACF fields, and featured images.",4713,70,"2026-02-12T20:04:00.000Z","6.9.4","4.0.0",[50,51,52,53,54],"clone-pages","content-migration","copy-posts","export-posts","import-posts","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpostpage-import-export-with-custom-fields-taxonomies.2.1.0.zip",98,"2025-01-20 00:00:00",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":25,"downloaded":67,"rating":25,"num_ratings":68,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":55,"tags":72,"homepage":55,"download_link":74,"security_score":75,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"easy-content-adder","Easy Content Adder","1.1.2","byronj","https:\u002F\u002Fprofiles.wordpress.org\u002Fbyronj\u002F","\u003Cp>Easy Content Adder allows you to add custom content via a native WordPress editor and display the content at the top or bottom of all posts, pages, or both.\u003C\u002Fp>\n\u003Cp>All text, links, and media attachments can be added to the custom content. If you can add it to a WordPress Page or Post, it can be added via Easy Content Adder.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Hide the content from all posts without having to delete your content or disable the plugin.\u003C\u002Fli>\n\u003Cli>Choose which post types to display the content on.\u003C\u002Fli>\n\u003Cli>Display the content only on posts that have been tagged with select categories or taxonomies. \u003C\u002Fli>\n\u003Cli>Chose whether to display the content at the bottom and\u002For top of all posts.\u003C\u002Fli>\n\u003C\u002Ful>\n","A WordPress plugin to easily add custom content to all of your Pages, Posts, and Custom Post Types.",4918,3,"2020-01-26T16:17:00.000Z","5.3.21","3.5",[18,20,73,21],"post-types","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-content-adder.1.1.2.zip",85,{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":25,"num_ratings":86,"last_updated":87,"tested_up_to":88,"requires_at_least":89,"requires_php":55,"tags":90,"homepage":96,"download_link":97,"security_score":98,"vuln_count":99,"unpatched_count":99,"last_vuln_date":100,"fetched_at":27},"wp-order-by","WP Order By","1.4.2","weiluri","https:\u002F\u002Fprofiles.wordpress.org\u002Fweiluri\u002F","\u003Cp>Simple and easy way to order your posts, pages or any other custom post-type in a various options, with the ability to define a different order option for each content type.\u003C\u002Fp>\n\u003Cp>A new menu will appear on the admin side-menu under each content type that is defined on your site (posts, pages etc.) and it will also be added automatically to future custom post types you will add in the future.\u003Cbr \u002F>\nIn addition, under the \u003Cem>Settings\u003C\u002Fem> menu in WordPress you will find a general settings sub-menu to set global options for the plugin.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Something is wrong with this plugin on your site? Please create a ticket at WordPress forum,\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>Or email me to \u003Ca href=\"mailto:weiluri@gmail.com\" rel=\"nofollow ugc\">weiluri@gmail.com\u003C\u002Fa> and I’ll fix it.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>You are welcome to suggest and request features to be added to the next versions. I’ll be glad to hear.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Ordering Options\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Date\u003C\u002Fli>\n\u003Cli>Last Modified Date\u003C\u002Fli>\n\u003Cli>Title\u003C\u002Fli>\n\u003Cli>Author\u003C\u002Fli>\n\u003Cli>Post,Page or post-type Id\u003C\u002Fli>\n\u003Cli>Post\u002FPage Parent Id\u003C\u002Fli>\n\u003Cli>Menu Order\u003C\u002Fli>\n\u003Cli>Randomly\u003C\u002Fli>\n\u003Cli>Number of Comments\u003C\u002Fli>\n\u003Cli>By Custom Field\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Extra Feature\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Exclude ordering for a specific page\u002Fs on your site\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>I’ll appreciate if you rate me or write a review on the plugin page.\u003Cbr \u002F>\nI’m doing my best to maintain and improve this plugin. if you feel like donating a small amount, of your choice, through the donation link on the plugin page, I will be very glad 🙂\u003C\u002Fp>\n\u003Cp>Enjoy…\u003C\u002Fp>\n","Simple and easy way to order your posts, pages or any other custom post-type in a various options.",90,5397,7,"2016-04-27T22:50:00.000Z","4.5.33","4.1",[91,92,93,94,95],"content-ordering","order-by","order-pages","order-post-type","order-posts","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-order-by\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-order-by.1.4.2.zip",64,1,"2025-01-14 00:00:00",{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":11,"num_ratings":11,"last_updated":111,"tested_up_to":112,"requires_at_least":113,"requires_php":55,"tags":114,"homepage":117,"download_link":118,"security_score":75,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"bns-inline-asides","BNS Inline Asides","1.3.2","Edward Caissie","https:\u002F\u002Fprofiles.wordpress.org\u002Fcais\u002F","\u003Cp>Have you ever wanted to add a personal comment into the body of a post or page and have it stand out from the rest of the content?\u003Cbr \u002F>\nHave you really wanted to throw a rant in a review because the subject just really got under your skin but you don’t want to dramatically disrupt the content?\u003Cbr \u002F>\nThis plugin will allow you to style sections of the post, or page, content with a shortcode that can add more emphasis by leveraging a style element from the active theme.\u003Cbr \u002F>\nThese asides can be left open as part of the content flow; or these asides can be closed to leave your readers the option of opening them if they choose to.\u003C\u002Fp>\n\u003Ch4>Copyright 2011-2018  Edward Caissie  (email : edward.caissie@gmail.com)\u003C\u002Fh4>\n\u003Cp>This program is free software; you can redistribute it and\u002For modify\u003Cbr \u002F>\n  it under the terms of the GNU General Public License version 2,\u003Cbr \u002F>\n  as published by the Free Software Foundation.\u003C\u002Fp>\n\u003Cp>You may NOT assume that you can use any other version of the GPL.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful,\u003Cbr \u002F>\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\u003Cbr \u002F>\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\u003Cbr \u002F>\n  GNU General Public License for more details.\u003C\u002Fp>\n\u003Cp>You should have received a copy of the GNU General Public License\u003Cbr \u002F>\n  along with this program; if not, write to the Free Software\u003Cbr \u002F>\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\u003C\u002Fp>\n\u003Cp>The license for this software can also likely be found here:\u003Cbr \u002F>\n  http:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\u003C\u002Fp>\n\u003Ch4>Acknowledgements\u003C\u002Fh4>\n\u003Cp>Credits for jQuery assistance: Trevor Mills www.topquarkproductions.ca\u003C\u002Fp>\n\u003Ch4>Screenshots Source Content\u003C\u002Fh4>\n\u003Cp>Sample content taken from the “Readability” post of the Theme Unit Test data found here: https:\u002F\u002Fcodex.wordpress.org\u002FTheme_Unit_Test used with the default Twenty Ten Theme.\u003C\u002Fp>\n","This plugin will allow you to style sections of the post, or page, content with added emphasis by leveraging a style element from the active theme.",10,4886,"2018-07-24T18:36:00.000Z","4.9.29","3.6",[18,20,115,21,116],"plugin-only","shortcode","http:\u002F\u002Fbuynowshop.com\u002Fplugins\u002Fbns-inline-asides\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbns-inline-asides.1.3.2.zip",{"slug":120,"name":121,"version":122,"author":123,"author_profile":124,"description":125,"short_description":126,"active_installs":109,"downloaded":127,"rating":128,"num_ratings":99,"last_updated":129,"tested_up_to":47,"requires_at_least":130,"requires_php":131,"tags":132,"homepage":138,"download_link":139,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"daisy-duplicate","Daisy Duplicate – Duplicator for Posts, Pages, Custom Posts, and WooCommerce Products","1.0.12","DaisyPlugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fdaisyplugins\u002F","\u003Cp>Daisy Duplicate is a lightweight WordPress plugin that allows you to quickly duplicate posts, pages, WooCommerce products, and other content types. It preserves all metadata, taxonomies (categories and tags), and custom fields, making it perfect for content creators, developers, and site administrators.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Duplicate posts, pages, and custom post types.\u003Cbr \u002F>\n– Duplicate WooCommerce products with all product data.\u003Cbr \u002F>\n– Preserves post meta, taxonomies, and custom fields.\u003Cbr \u002F>\n– Simple “Duplicate” link added to the post\u002Fpage\u002Fproduct list.\u003Cbr \u002F>\n– Easy-to-use and lightweight.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>Daisy Duplicate is licensed under the GPLv2 or later.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Developed by \u003Ca href=\"https:\u002F\u002Fdaisyplugins.com\" rel=\"nofollow ugc\">DaisyPlugins\u003C\u002Fa>.\u003C\u002Fp>\n","Duplicate Posts, Pages, Custom Posts, and WooCommerce Products.",929,20,"2026-01-01T17:40:00.000Z","5.2","7.2",[133,134,135,136,137],"duplicate-content","duplicate-pages","duplicate-posts","duplicate-products","duplicator","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdaisy-duplicate","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdaisy-duplicate.1.0.12.zip",{"attackSurface":141,"codeSignals":186,"taintFlows":214,"riskAssessment":234,"analyzedAt":240},{"hooks":142,"ajaxHandlers":182,"restRoutes":183,"shortcodes":184,"cronEvents":185,"entryPointCount":11,"unprotectedCount":11},[143,148,152,155,159,163,167,172,175,179],{"type":144,"name":145,"callback":145,"file":146,"line":147},"action","init","signalfire-expire-content.php",68,{"type":144,"name":149,"callback":150,"file":146,"line":151},"add_meta_boxes","add_meta_box",69,{"type":144,"name":153,"callback":154,"file":146,"line":45},"save_post","save_meta_box",{"type":144,"name":156,"callback":157,"file":146,"line":158},"wp","check_expiration",71,{"type":144,"name":160,"callback":161,"file":146,"line":162},"admin_enqueue_scripts","enqueue_admin_scripts",72,{"type":144,"name":164,"callback":165,"priority":109,"file":146,"line":166},"transition_post_status","handle_post_republish",73,{"type":168,"name":169,"callback":170,"file":146,"line":171},"filter","manage_posts_columns","add_expiration_column",76,{"type":168,"name":173,"callback":170,"file":146,"line":174},"manage_pages_columns",77,{"type":144,"name":176,"callback":177,"priority":109,"file":146,"line":178},"manage_posts_custom_column","display_expiration_column",78,{"type":144,"name":180,"callback":177,"priority":109,"file":146,"line":181},"manage_pages_custom_column",79,[],[],[],[],{"dangerousFunctions":187,"sqlUsage":188,"outputEscaping":190,"fileOperations":11,"externalRequests":11,"nonceChecks":99,"capabilityChecks":31,"bundledLibraries":213},[],{"prepared":11,"raw":11,"locations":189},[],{"escaped":191,"rawEcho":192,"locations":193},15,9,[194,197,199,201,203,205,207,209,211],{"file":146,"line":195,"context":196},149,"raw output",{"file":146,"line":198,"context":196},160,{"file":146,"line":200,"context":196},171,{"file":146,"line":202,"context":196},175,{"file":146,"line":204,"context":196},178,{"file":146,"line":206,"context":196},185,{"file":146,"line":208,"context":196},194,{"file":146,"line":210,"context":196},206,{"file":146,"line":212,"context":196},494,[],[215],{"entryPoint":216,"graph":217,"unsanitizedCount":11,"severity":233},"\u003Csignalfire-expire-content> (signalfire-expire-content.php:0)",{"nodes":218,"edges":230},[219,224],{"id":220,"type":221,"label":222,"file":146,"line":223},"n0","source","$_POST (x2)",298,{"id":225,"type":226,"label":227,"file":146,"line":228,"wp_function":229},"n1","sink","echo() [XSS]",493,"echo",[231],{"from":220,"to":225,"sanitized":232},true,"low",{"summary":235,"deductions":236},"The \"signalfire-expire-content\" v1.0.0 plugin exhibits a strong security posture based on the provided static analysis. The plugin has a remarkably small attack surface, with zero AJAX handlers, REST API routes, shortcodes, or cron events identified. Crucially, none of these entry points appear to be unprotected. The code analysis reveals a responsible approach to database interactions, with all SQL queries utilizing prepared statements. Furthermore, the presence of nonce and capability checks, even if limited in number, indicates an awareness of fundamental WordPress security practices.\n\nWhile the static analysis suggests a secure implementation, there is a minor area for improvement regarding output escaping. With 63% of outputs properly escaped, there's still a possibility for XSS vulnerabilities in the remaining 37% of unescaped outputs. Taint analysis did not reveal any critical or high-severity issues, and the plugin's vulnerability history is clean, with no recorded CVEs. This indicates a well-maintained and likely secure codebase at this version.\n\nIn conclusion, the \"signalfire-expire-content\" v1.0.0 plugin appears to be a secure choice, demonstrating good development practices by minimizing its attack surface and using prepared statements for SQL. The absence of any historical vulnerabilities further bolsters confidence. The only notable weakness is the percentage of unescaped output, which, while not flagged as critical in the taint analysis, should ideally be 100%. Overall, the plugin presents a low-risk profile.",[237],{"reason":238,"points":239},"Unescaped output identified",5,"2026-03-17T06:40:14.471Z",{"wat":242,"direct":251},{"assetPaths":243,"generatorPatterns":246,"scriptPaths":247,"versionParams":248},[244,245],"\u002Fwp-content\u002Fplugins\u002Fsignalfire-expire-content\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fsignalfire-expire-content\u002Fjs\u002Fadmin.js",[],[245],[249,250],"signalfire-expire-content\u002Fcss\u002Fadmin.css?ver=","signalfire-expire-content\u002Fjs\u002Fadmin.js?ver=",{"cssClasses":252,"htmlComments":255,"htmlAttributes":256,"restEndpoints":263,"jsGlobals":264,"shortcodeOutput":265},[253,254],"sigukexp-expiration-fields","sigukexp_redirect_url_field",[],[257,258,259,260,261,262],"sigukexp_expiration_date","sigukexp_expiration_time","sigukexp_expiration_action","sigukexp_expiration_url","sigukexp_expiration_nonce","sigukexp_save_expiration",[],[],[]]