[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fXg7mnt_JPlj49Oezq2F4uDjguD6bLp7f1xROS0kO0Ao":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":36,"analysis":136,"fingerprints":191},"auto-post-expiry-manager","Auto Post Expiry Manager","1.0","Hardik Galiya","https:\u002F\u002Fprofiles.wordpress.org\u002Fhardik2104\u002F","\u003Cp>\u003Cstrong>Auto Post Expiry Manager\u003C\u002Fstrong> allows you to set an expiry date and time for any post or custom post type. Once the scheduled expiry time is reached, the post will automatically switch from “Published” to “Draft” status.\u003C\u002Fp>\n\u003Cp>It’s useful for:\u003Cbr \u002F>\n– Event announcements\u003Cbr \u002F>\n– Time-sensitive promotions\u003Cbr \u002F>\n– Auto-drafting outdated posts\u003Cbr \u002F>\n– Limiting visibility on dated content\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Works with \u003Cstrong>all public post types\u003C\u002Fstrong>\u003Cbr \u002F>\n– Set expiration time using a simple \u003Cstrong>datetime picker\u003C\u002Fstrong>\u003Cbr \u002F>\n– Lightweight cron job runs every minute\u003Cbr \u002F>\n– Automatically removes expiry after execution\u003Cbr \u002F>\n– Manual trigger available via URL for testing\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the \u003Ca href=\"https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\" rel=\"nofollow ugc\">GPLv2 or later\u003C\u002Fa>.\u003Cbr \u002F>\nCopyright (c) 2025 Hardik Galiya\u003C\u002Fp>\n","Automatically expire posts and custom post types at a specific date and time. Works with all public post types and uses a lightweight cron scheduler.",80,457,0,"2025-06-23T05:38:00.000Z","6.8.5","5.0","7.2",[19,20,21,22,23],"auto-unpublish","expire-posts","post-expiration","post-lifecycle","schedule-post-draft","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauto-post-expiry-manager.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"hardik2104",1,30,94,"2026-04-03T19:30:39.060Z",[37,58,78,98,118],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":26,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":24,"tags":51,"homepage":55,"download_link":56,"security_score":57,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"dishsoap","DishSoap","1.2","Mark Thomes","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarkthomes\u002F","\u003Cp>Cleanup those old posts with DishSoap. DishSoap is an post unpublishing and unsticking plugin for those that want to automatically unpublish or unsticky a post on a specified date and time.\u003C\u002Fp>\n","Automatically unpublish or unsticky a post on a specified date and time. Simple interface for ease of use.",10,2591,2,"2013-12-31T06:23:00.000Z","3.7.41","3.3",[19,52,53,20,54],"auto-unstick","expire","schedule","http:\u002F\u002Fwithan.es\u002Fdishsoap","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdishsoap.1.2.zip",85,{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":68,"num_ratings":47,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":72,"tags":73,"homepage":76,"download_link":77,"security_score":57,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"expiring-posts","Expiring Posts","1.3","Ivan","https:\u002F\u002Fprofiles.wordpress.org\u002Fivankk\u002F","\u003Cp>This plugin adds functionality to expire a post on a given date.\u003C\u002Fp>\n\u003Cp>This plugin currently only works with the classical editor.\u003C\u002Fp>\n\u003Cp>It does this by adding a new “Expires” date field in the Publish box.\u003C\u002Fp>\n\u003Cp>By default posts don’t expire, but you can add a date instead.\u003C\u002Fp>\n\u003Cp>Once that date is reached, the post is marked as expired and is no longer visible to the end user.\u003C\u002Fp>\n\u003Ch3>Dev Notes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Dev occurs via https:\u002F\u002Fgithub.com\u002Fivankruchkoff\u002Fwp-expiring-posts\u003C\u002Fli>\n\u003Cli>the new post status is \u003Ccode>expired\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>a filter called \u003Ccode>exp_disable_expiration_for_this_post\u003C\u002Fcode> exists to disable this feature on a per-post basis.\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin adds functionality to expire a post on a given date.",1000,5499,70,"2022-01-23T23:52:00.000Z","5.9.13","3.0.1","5.3",[53,20,74,59,75],"expiring","post-expiry","https:\u002F\u002Fgithub.com\u002Fivankruchkoff\u002Fwp-expiring-posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpiring-posts.1.3.zip",{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":86,"downloaded":87,"rating":88,"num_ratings":89,"last_updated":90,"tested_up_to":91,"requires_at_least":92,"requires_php":24,"tags":93,"homepage":96,"download_link":97,"security_score":57,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"content-scheduler","Content Scheduler","2.0.5","Paul Kaiser","https:\u002F\u002Fprofiles.wordpress.org\u002Ffreakingid\u002F","\u003Cp>Content Scheduler lets you control when content automatically expires, what to do with that content when it expires, and optionally provide notification to site contributors when the content expired.\u003C\u002Fp>\n\u003Ch4>Expiration Options\u003C\u002Fh4>\n\u003Cp>You control what happens upon expiration, including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Change status to Pending, Draft, or Private\u003C\u002Fli>\n\u003Cli>Add custom text to beginning or end of Post title\u003C\u002Fli>\n\u003Cli>Unstick  sticky Posts\u003C\u002Fli>\n\u003Cli>Change Categories\u003C\u002Fli>\n\u003Cli>Add and remove Tags\u003C\u002Fli>\n\u003Cli>Move to the Trash\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Notification Options\u003C\u002Fh4>\n\u003Cp>Content Scheduler can also notify you:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>When expiration occurs\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This reminder helps you keep content fresh, providing a reminder that content is out of date and needs updated or replaced. Content Scheduler lets you use notification tools without making any changes to content upon expiration, if you’d like.\u003C\u002Fp>\n","Schedule content to automatically expire and change at a certain time, and notify people of expiration.",200,30319,48,8,"2014-12-26T16:01:00.000Z","4.1.0","2.9",[53,20,74,94,95],"scheduling","sticky","http:\u002F\u002Fpaulekaiser.com\u002Fwordpress-plugins\u002Fcontent-scheduler\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontent-scheduler.2.0.5.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":26,"downloaded":106,"rating":107,"num_ratings":26,"last_updated":108,"tested_up_to":109,"requires_at_least":110,"requires_php":24,"tags":111,"homepage":116,"download_link":117,"security_score":57,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"page-expiration-robot","Page Expiration Robot – Countdown Timer","3.2.1","Bill Zimmerman","https:\u002F\u002Fprofiles.wordpress.org\u002Fsocratous139\u002F","\u003Cp>Double (even TRIPLE!) your conversions by setting up countdown timed-offers, one time offers and schedule pages and posts to expire (on visitor-by-visitor basis) and redirect expired visitors to a different offer or URL. You can add an attention-grabbing live countdown timer that will show visitors every second they are losing by not taking action immediately!\u003C\u002Fp>\n\u003Cdiv class=\"embed-vimeo\" style=\"text-align: center;\">\u003Ciframe loading=\"lazy\" src=\"https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F108896854\" width=\"750\" height=\"422\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen>\u003C\u002Fiframe>\u003C\u002Fdiv>\n\u003Cp>We do everything every other basic-grade countdown WordPress plugin out there does (plus more) and giving it away to you to for free so you can use it to multiply your sales, conversions,\u003Cbr \u002F>\nand profits by 2x, 3x, even 4x, in a matter of minutes!\u003C\u002Fp>\n\u003Ch4>Evegreen Scarcity: Automate your offers to run (and expire) all day, every day, 24\u002F7\u002F365!\u003C\u002Fh4>\n\u003Cp>Create evergreen product launches and hypnotize each and every visitor with their very own expiring countdown making them to literally beg YOU to stop the timer immediately and buy your stuff! Create non-stop profit countdown timers that run (and expires) all day, every day, completely on autopilot. Show your visitors every second they are losing by not acting or purchasing your product right away!\u003C\u002Fp>\n\u003Ch4>Event-based Scarcity: Schedule expiration on specific date & time or period.\u003C\u002Fh4>\n\u003Cp>Want to run offers and set them to be expired on a specific date? You bet! Just specify the date when the page should stop being available for ALL your visitors and it will be expired automatically. Works perfectly well if you want to run event-based promotions around specific calendar dates like Christmas, Valentines Day, and Easter, pumping massive spikes of cash into your bank account almost every month of the year.\u003C\u002Fp>\n\u003Ch4>OTO Scarcity: Create Irrestible ONE-TIME-ONLY Offers in 60 Seconds (Or Less!)\u003C\u002Fh4>\n\u003Cp>Setup one time offers and make visitors rush to find their credit card so they can buy your stuff . Each of your visitors has to take action right now, or your exclusive deal will move to the next person and wont be available to him.\u003C\u002Fp>\n\u003Ch4>Plus Even More Awesome Features:\u003C\u002Fh4>\n\u003Cp>Here are just few of the amazing features:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Integrated with beautiful live countdown timer design(s).\u003C\u002Fli>\n\u003Cli>Automatically redirect expired visitors to any URL.\u003C\u002Fli>\n\u003Cli>Show special messages and images upon expiration.\u003C\u002Fli>\n\u003Cli>A selection of 400+ timezones.\u003C\u002Fli>\n\u003Cli>Set visitors to expire by Cookie.\u003C\u002Fli>\n\u003Cli>100% Mobile-Friendly & Responsive countdowns.\u003C\u002Fli>\n\u003Cli>Plugin works with both WP Pages and Blog Posts.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Want to see more?\u003C\u002Fp>\n\u003Ch4>Premium Extensions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.pageexpirationrobot.com\u002Fv2\u002Fadd-ons\u002Funlimited-campaigns\" title=\"Unlimited scarciy countdown timers\" rel=\"nofollow ugc\">Unlimited Campaigns\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.pageexpirationrobot.com\u002Fv2\u002Fadd-ons\u002Fcountdown-style-designs\" title=\"Countdown styles and templates for Page Expiration Robot plugin\" rel=\"nofollow ugc\">View More Countdown Styles\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.pageexpirationrobot.com\u002Fv2\u002Fadd-ons\u002Fcountdown-sticky-bar\" title=\"Countdown timer on header or footer\" rel=\"nofollow ugc\">Show Timer As Sticky on Footer\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.pageexpirationrobot.com\u002Fv2\u002Fdownload\u002Fadd-ons\" title=\"See all scarcity addons and extensions\" rel=\"nofollow ugc\">See all extensions\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Plus it’s easy to extend it with even more features. Page Expiration Robot allows you to quickly and easily integrate with a variety of money-sucking features and provides for even deeper integration with WordPress through our (http:\u002F\u002Fwww.pageexpirationrobot.com\u002Fv2\u002Fdownload\u002Fadd-ons “collection of optional Add-Ons”).\u003C\u002Fp>\n","The official #1 most intelligent, scarcity countdown timer plugin ever created for WordPress to expire posts AND pages on autopilot!",72734,84,"2016-11-02T14:06:00.000Z","4.4.34","3.8",[112,113,114,20,115],"countdown","evergreen","expire-pages","scarcity","http:\u002F\u002Fwww.PageExpirationRobot.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpage-expiration-robot.zip",{"slug":119,"name":120,"version":6,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":26,"downloaded":125,"rating":11,"num_ratings":32,"last_updated":126,"tested_up_to":127,"requires_at_least":50,"requires_php":128,"tags":129,"homepage":134,"download_link":135,"security_score":57,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"sticky-posts-expire","Sticky Posts Expire","Mubeen Khan","https:\u002F\u002Fprofiles.wordpress.org\u002Fmubeenkhan\u002F","\u003Cp>A simple plugin that allows you to set an expiration date on posts. Once a post is expired, it will no longer be sticky.\u003C\u002Fp>\n","A simple plugin that allows you to set an expiration date on posts. Once a post is expired, it will no longer be sticky.",2314,"2022-12-28T12:33:00.000Z","5.8.13","7.0",[130,131,95,132,133],"expiration","posts","sticky-post","sticky-post-expiration","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsticky-posts-expire\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsticky-posts-expire.zip",{"attackSurface":137,"codeSignals":168,"taintFlows":183,"riskAssessment":184,"analyzedAt":190},{"hooks":138,"ajaxHandlers":162,"restRoutes":163,"shortcodes":164,"cronEvents":165,"entryPointCount":13,"unprotectedCount":13},[139,145,149,154,158],{"type":140,"name":141,"callback":142,"file":143,"line":144},"action","add_meta_boxes","apem_add_expiry_meta_box","auto-post-expiry-manager.php",36,{"type":140,"name":146,"callback":147,"file":143,"line":148},"save_post","apem_save_expiry_meta",115,{"type":150,"name":151,"callback":152,"file":143,"line":153},"filter","cron_schedules","apem_add_cron_schedule",196,{"type":140,"name":155,"callback":156,"file":143,"line":157},"apem_check_expiry_event","apem_expire_scheduled_posts",220,{"type":140,"name":159,"callback":160,"file":143,"line":161},"admin_init","apem_manual_expiry_trigger",239,[],[],[],[166],{"hook":155,"callback":155,"file":143,"line":167},204,{"dangerousFunctions":169,"sqlUsage":170,"outputEscaping":172,"fileOperations":13,"externalRequests":13,"nonceChecks":47,"capabilityChecks":47,"bundledLibraries":182},[],{"prepared":13,"raw":13,"locations":171},[],{"escaped":89,"rawEcho":173,"locations":174},3,[175,178,180],{"file":143,"line":176,"context":177},62,"raw output",{"file":143,"line":179,"context":177},66,{"file":143,"line":181,"context":177},76,[],[],{"summary":185,"deductions":186},"The static analysis for Auto-Post-Expiry-Manager v1.0 reveals a generally good security posture with several strengths. The absence of dangerous functions, SQL injection vulnerabilities, file operations, and external HTTP requests are positive indicators. The plugin also demonstrates a commitment to security by implementing nonce and capability checks for its entry points, and importantly, all detected SQL queries utilize prepared statements, a crucial defense against SQL injection. However, there's a minor concern regarding output escaping, where 27% of outputs are not properly escaped, potentially opening the door for cross-site scripting (XSS) vulnerabilities if user-controlled data is involved in these unescaped outputs.\n\nThe attack surface is minimal, with no AJAX handlers, REST API routes, or shortcodes present, and the single cron event is not explicitly stated as unprotected. The taint analysis showed no identified flows, which is a strong positive. Furthermore, the plugin has no recorded vulnerability history (CVEs), suggesting a stable and likely secure past. Despite the small percentage of unescaped outputs, which warrants attention, the overall security of Auto-Post-Expiry-Manager v1.0 appears to be robust, with a low risk profile based on the provided data.",[187],{"reason":188,"points":189},"Unescaped output detected",5,"2026-03-16T21:25:26.642Z",{"wat":192,"direct":197},{"assetPaths":193,"generatorPatterns":194,"scriptPaths":195,"versionParams":196},[],[],[],[],{"cssClasses":198,"htmlComments":199,"htmlAttributes":200,"restEndpoints":208,"jsGlobals":209,"shortcodeOutput":210},[],[],[201,202,203,204,205,206,207],"id=\"apem_expiry_datetime\"","name=\"expiry_datetime\"","id=\"apem_expiry_status\"","name=\"expiry_status\"","name=\"expiry_notify\"","id=\"apem_expiry_box\"","name=\"apem_meta_box_nonce\"",[],[],[]]