[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fQjznkuKlgpMtlE007Rrh9YebCAEbZPAma4KCp87Rzsg":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":18,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":36,"analysis":130,"fingerprints":183},"expire-sticky-posts","Expire Sticky Posts","1.0","Andy von Dohren","https:\u002F\u002Fprofiles.wordpress.org\u002Favondohren\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\u003Cp>Have you found a bug or have a suggestion or improvement you’d like to submit? This plugin is available on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Favondohren\u002FExpire-Sticky-Posts\" rel=\"nofollow ugc\">Github\u003C\u002Fa> and pull requests are welcome!\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.",1000,14012,100,2,"2014-12-20T00:00:00.000Z","4.0.38","3.6","",[20,21,22,23],"expiration","expire","posts","sticky","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpire-sticky-posts.1.0.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"avondohren",1,30,84,"2026-04-04T02:44:22.113Z",[37,57,75,96,113],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":18,"tags":52,"homepage":18,"download_link":56,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"wp-post-expires","WP Post Expires","1.2.5","X-NicON","https:\u002F\u002Fprofiles.wordpress.org\u002Fx-nicon\u002F","\u003Cp>A simple plugin that allows to set the date for the posts, after which will be performed one of 3 actions: “Add prefix to title”, “Move to drafts”, “Move to trash”.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Set post expire date and time\u003C\u002Fli>\n\u003Cli>Support custom post type (post and pages by default)\u003C\u002Fli>\n\u003Cli>Action for expired posts: move to drafts, move to trash or add custom prefix for title\u003C\u002Fli>\n\u003Cli>Adds class “post-expired” to post that expired on the site and in admin interface (for custom styles in theme)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use in theme:\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>XNPostExpires::isExpired($post_id)\n\nXNPostExpires::dateExpiration($post_id, $date_format)\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Plugin adds post expires time after which will be performed actions: add prefix to title, move to drafts or trash.",2000,35993,66,14,"2020-11-02T17:13:00.000Z","5.5.18","5.0",[20,21,53,54,55],"expired-post","posts-expiring","wordpress-post-expiry","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-post-expires.zip",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":67,"num_ratings":68,"last_updated":69,"tested_up_to":70,"requires_at_least":17,"requires_php":18,"tags":71,"homepage":18,"download_link":72,"security_score":73,"vuln_count":32,"unpatched_count":32,"last_vuln_date":74,"fetched_at":28},"simple-post-expiration","Simple Post Expiration","1.0.1","Syed Balkhi","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmub\u002F","\u003Cp>A simple plugin that allows you to set an expiration date on posts. Once a post is expired, “Expired” will be prefixed to the post title.\u003C\u002Fp>\n\u003Cp>You can show the expiration status of a post using the [expires] short code.\u003C\u002Fp>\n\u003Cp>The [expires] short code accepts 5 optional parameters:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>expires_on – The text to be shown when a post has not yet expired. Default: \u003Ccode>This item expires on: %s\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>expired – The text to be shown when a post is expired. Default: \u003Ccode>This item expired on: %s\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>date_format – The format the expiration date should be displayed in\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>class – The class or classes given to the DIV element\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>id – The ID given to the DIV element\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The \u003Ccode>%s\u003C\u002Fcode> will be replaced with the expiration date.\u003C\u002Fp>\n\u003Cp>Have you found a bug or have a suggestion or improvement you’d like to submit? This plugin is available on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpippinsplugins\u002FSimple-Post-Expiration\" rel=\"nofollow ugc\">Github\u003C\u002Fa> and pull requests are welcome!\u003C\u002Fp>\n","A simple plugin that allows you to set an expiration date on posts. Once a post is expired, \"Expired\" will be prefixed to the post title.",500,16297,92,7,"2016-10-10T15:26:00.000Z","4.7.32",[20,21,22],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-post-expiration.zip",64,"2025-04-01 00:00:00",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":83,"downloaded":84,"rating":85,"num_ratings":86,"last_updated":87,"tested_up_to":88,"requires_at_least":89,"requires_php":18,"tags":90,"homepage":94,"download_link":95,"security_score":25,"vuln_count":26,"unpatched_count":26,"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",[21,91,92,93,23],"expire-posts","expiring","scheduling","http:\u002F\u002Fpaulekaiser.com\u002Fwordpress-plugins\u002Fcontent-scheduler\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontent-scheduler.2.0.5.zip",{"slug":97,"name":98,"version":6,"author":99,"author_profile":100,"description":101,"short_description":10,"active_installs":13,"downloaded":102,"rating":103,"num_ratings":32,"last_updated":104,"tested_up_to":105,"requires_at_least":106,"requires_php":107,"tags":108,"homepage":111,"download_link":112,"security_score":25,"vuln_count":26,"unpatched_count":26,"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",2314,80,"2022-12-28T12:33:00.000Z","5.8.13","3.3","7.0",[20,22,23,109,110],"sticky-post","sticky-post-expiration","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsticky-posts-expire\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsticky-posts-expire.zip",{"slug":114,"name":115,"version":6,"author":116,"author_profile":117,"description":118,"short_description":119,"active_installs":103,"downloaded":120,"rating":26,"num_ratings":26,"last_updated":121,"tested_up_to":122,"requires_at_least":51,"requires_php":123,"tags":124,"homepage":18,"download_link":129,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"auto-post-expiry-manager","Auto Post Expiry Manager","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.",457,"2025-06-23T05:38:00.000Z","6.8.5","7.2",[125,91,126,127,128],"auto-unpublish","post-expiration","post-lifecycle","schedule-post-draft","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauto-post-expiry-manager.zip",{"attackSurface":131,"codeSignals":164,"taintFlows":175,"riskAssessment":176,"analyzedAt":182},{"hooks":132,"ajaxHandlers":160,"restRoutes":161,"shortcodes":162,"cronEvents":163,"entryPointCount":26,"unprotectedCount":26},[133,139,144,149,153,157],{"type":134,"name":135,"callback":136,"file":137,"line":138},"action","init","pw_esp_text_domain","expire-sticky-posts.php",47,{"type":140,"name":141,"callback":142,"priority":13,"file":137,"line":143},"filter","the_title","pw_esp_unstick",98,{"type":134,"name":145,"callback":146,"file":147,"line":148},"post_submitbox_misc_actions","pw_esp_add_expiration_field","includes\\metabox.php",54,{"type":134,"name":150,"callback":151,"file":147,"line":152},"save_post","pw_esp_save_expiration",94,{"type":134,"name":154,"callback":155,"file":147,"line":156},"load-post-new.php","pw_esp_scripts",109,{"type":134,"name":158,"callback":155,"file":147,"line":159},"load-post.php",110,[],[],[],[],{"dangerousFunctions":165,"sqlUsage":166,"outputEscaping":168,"fileOperations":26,"externalRequests":26,"nonceChecks":32,"capabilityChecks":32,"bundledLibraries":174},[],{"prepared":26,"raw":26,"locations":167},[],{"escaped":169,"rawEcho":32,"locations":170},3,[171],{"file":147,"line":172,"context":173},35,"raw output",[],[],{"summary":177,"deductions":178},"The \"expire-sticky-posts\" v1.0 plugin exhibits a generally strong security posture based on the provided static analysis.  The absence of identified dangerous functions, raw SQL queries, file operations, and external HTTP requests is commendable.  Furthermore, the presence of nonce and capability checks indicates good practice in securing entry points, even though the attack surface is currently zero. The clean vulnerability history with no known CVEs further reinforces this positive outlook.  However, it's important to note that the static analysis only covers a limited scope. The fact that 25% of output is not properly escaped, while not yielding a critical taint flow in this analysis, represents a potential area for concern that could be exploited in conjunction with other weaknesses. A more comprehensive analysis, including dynamic testing and a deeper review of the code for potential logic flaws, would be beneficial.",[179],{"reason":180,"points":181},"Unescaped output detected",5,"2026-03-16T18:48:17.031Z",{"wat":184,"direct":192},{"assetPaths":185,"generatorPatterns":187,"scriptPaths":188,"versionParams":190},[186],"\u002Fwp-content\u002Fplugins\u002Fexpire-sticky-posts\u002Fassets\u002Fcss\u002Fjquery-ui-fresh.min.css",[],[189],"\u002Fwp-content\u002Fplugins\u002Fexpire-sticky-posts\u002Fassets\u002Fjs\u002Fedit.js",[191],"expire-sticky-posts\u002Fassets\u002Fjs\u002Fedit.js?ver=",{"cssClasses":193,"htmlComments":199,"htmlAttributes":200,"restEndpoints":208,"jsGlobals":209,"shortcodeOutput":210},[194,195,196,197,198],"pw-esp-expiration-wrap","pw-esp-expiration-label","pw-esp-edit-expiration","pw-esp-expiration-field","pw-esp-hide-expiration",[],[201,202,203,204,205,206,207],"id=\"pw-esp-expiration-wrap\"","id=\"pw-esp-expiration-label\"","id=\"pw-esp-edit-expiration\"","id=\"pw-esp-expiration-field\"","name=\"pw-esp-expiration\"","id=\"pw-esp-expiration\"","name=\"pw_esp_expiration_nonce\"",[],[],[]]