[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fm5OPrpi74X76GoybF_XjH0TQ4QKk-p4y_sFweeNJj8M":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":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":37,"analysis":135,"fingerprints":222},"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,2,"2022-01-23T23:52:00.000Z","5.9.13","3.0.1","5.3",[20,21,22,4,23],"expire","expire-posts","expiring","post-expiry","https:\u002F\u002Fgithub.com\u002Fivankruchkoff\u002Fwp-expiring-posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpiring-posts.1.3.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":33,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"ivankk",21000,2826,69,"2026-04-04T00:34:00.523Z",[38,60,80,101,117],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":53,"download_link":59,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"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","",[55,20,56,57,58],"expiration","expired-post","posts-expiring","wordpress-post-expiry","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-post-expires.zip",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":70,"num_ratings":71,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":53,"tags":75,"homepage":78,"download_link":79,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"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",[20,21,22,76,77],"scheduling","sticky","http:\u002F\u002Fpaulekaiser.com\u002Fwordpress-plugins\u002Fcontent-scheduler\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontent-scheduler.2.0.5.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":90,"num_ratings":91,"last_updated":92,"tested_up_to":93,"requires_at_least":94,"requires_php":53,"tags":95,"homepage":99,"download_link":100,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"va-simple-expires","VA Simple Expires","1.0.6","kuck1u","https:\u002F\u002Fprofiles.wordpress.org\u002Fkuck1u\u002F","\u003Cp>VA Simple Expires is a plugin that allows you to add an expiration date to posts.\u003Cbr \u002F>\nThe usage is pretty simple. You define an expiration date to a post and when the date comes, the post is removed from the public side of your site and set to “expiration”. “Expiration” is a new post status added by the plugin.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FAeebezu1XlQ?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n","This is the fork of Simple Expires created by Mr. abmcr. Simple plugin which can set up the term of validity.",900,8427,88,7,"2016-12-18T18:01:00.000Z","4.5.33","3.8.2",[96,20,97,22,98],"automation","expires","schedule","https:\u002F\u002Fgithub.com\u002FVisuAlive\u002Fva-simple-expires","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fva-simple-expires.zip",{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":111,"num_ratings":14,"last_updated":112,"tested_up_to":53,"requires_at_least":113,"requires_php":53,"tags":114,"homepage":115,"download_link":116,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"simple-expires","Simple Expires","0.10","abmcr","https:\u002F\u002Fprofiles.wordpress.org\u002Fabmcr\u002F","\u003Cp>Enable Posts and Pages to automatically expire and change at a certain time, and provide notification of expiration.\u003C\u002Fp>\n\u003Ch4>Notification Options\u003C\u002Fh4>\n\u003Cp>Simple Expires  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.\u003C\u002Fp>\n","Enable Posts and Pages to automatically expire and change at a certain time, and provide notification of expiration.",500,11716,100,"2011-08-08T08:09:00.000Z","3.0.3",[96,20,97,22,98],"http:\u002F\u002Fwww.wordpress.org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-expires.zip",{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":68,"downloaded":125,"rating":126,"num_ratings":91,"last_updated":127,"tested_up_to":128,"requires_at_least":129,"requires_php":53,"tags":130,"homepage":53,"download_link":134,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"post-expiring","Post Expiring","1.4","Piotr Po","https:\u002F\u002Fprofiles.wordpress.org\u002Fpotreb\u002F","\u003Cp>Allows you to add an expiration date to posts.\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FEYGoW6HMyuk?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n","Expire post by set the date of expiring",5608,98,"2015-04-19T11:50:00.000Z","4.1.42","3.8",[131,132,133,22,57],"date-of-deactivation","date-of-expiring","expired","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-expiring.1.4.zip",{"attackSurface":136,"codeSignals":179,"taintFlows":196,"riskAssessment":215,"analyzedAt":221},{"hooks":137,"ajaxHandlers":173,"restRoutes":174,"shortcodes":175,"cronEvents":176,"entryPointCount":27,"unprotectedCount":27},[138,145,149,153,157,161,165,169],{"type":139,"name":140,"callback":141,"priority":142,"file":143,"line":144},"action","post_submitbox_misc_actions","post_meta_box",5,"expiring-posts.php",56,{"type":139,"name":146,"callback":147,"file":143,"line":148},"admin_enqueue_scripts","admin_scripts",59,{"type":139,"name":150,"callback":151,"file":143,"line":152},"init","expiring_post_status",62,{"type":139,"name":154,"callback":155,"file":143,"line":156},"expired_post","expired_post_transition",65,{"type":139,"name":158,"callback":159,"file":143,"line":160},"after_delete_post","unschedule_expired_post",68,{"type":139,"name":162,"callback":163,"file":143,"line":164},"exp_expire_post_event","check_and_expire_scheduled_post",71,{"type":139,"name":166,"callback":167,"file":143,"line":168},"save_post","save_expiration_date",74,{"type":139,"name":170,"callback":171,"file":143,"line":172},"display_post_states","add_expiry_post_states",77,[],[],[],[177],{"hook":162,"callback":162,"file":143,"line":178},489,{"dangerousFunctions":180,"sqlUsage":181,"outputEscaping":184,"fileOperations":27,"externalRequests":27,"nonceChecks":182,"capabilityChecks":14,"bundledLibraries":195},[],{"prepared":182,"raw":27,"locations":183},1,[],{"escaped":185,"rawEcho":186,"locations":187},9,3,[188,191,193],{"file":143,"line":189,"context":190},266,"raw output",{"file":143,"line":192,"context":190},331,{"file":143,"line":194,"context":190},338,[],[197],{"entryPoint":198,"graph":199,"unsanitizedCount":27,"severity":214},"\u003Cexpiring-posts> (expiring-posts.php:0)",{"nodes":200,"edges":211},[201,206],{"id":202,"type":203,"label":204,"file":143,"line":205},"n0","source","$_POST",151,{"id":207,"type":208,"label":209,"file":143,"line":192,"wp_function":210},"n1","sink","echo() [XSS]","echo",[212],{"from":202,"to":207,"sanitized":213},true,"low",{"summary":216,"deductions":217},"The \"expiring-posts\" plugin v1.3 exhibits a strong security posture based on the provided static analysis and vulnerability history. The complete absence of known CVEs and the plugin's adherence to secure coding practices like prepared statements for SQL queries, nonce checks, and capability checks are highly commendable. The limited attack surface with no unprotected entry points further enhances its security.\n\nHowever, a minor concern arises from the output escaping, where 25% of the outputs are not properly escaped. While this doesn't indicate a critical vulnerability in this specific analysis, it represents a potential area for XSS (Cross-Site Scripting) vulnerabilities if user-supplied data is involved in those unescaped outputs. This is a common oversight that can be exploited in certain contexts, even with an otherwise secure plugin.\n\nOverall, the plugin demonstrates a robust commitment to security, with no critical or high-risk findings in the code analysis. The vulnerability history is clean, suggesting consistent secure development. The only area for improvement is ensuring 100% output escaping to mitigate any potential future risks, even if none are currently evident.",[218],{"reason":219,"points":220},"Unescaped outputs detected",4,"2026-03-16T19:07:10.096Z",{"wat":223,"direct":232},{"assetPaths":224,"generatorPatterns":227,"scriptPaths":228,"versionParams":229},[225,226],"\u002Fwp-content\u002Fplugins\u002Fexpiring-posts\u002Finc\u002Fjs\u002Fexpiring-posts.js","\u002Fwp-content\u002Fplugins\u002Fexpiring-posts\u002Finc\u002Fcss\u002Fexpiring-posts.css",[],[],[230,231],"expiring-posts\u002Finc\u002Fjs\u002Fexpiring-posts.js?ver=","expiring-posts\u002Finc\u002Fcss\u002Fexpiring-posts.css?ver=",{"cssClasses":233,"htmlComments":235,"htmlAttributes":236,"restEndpoints":246,"jsGlobals":247,"shortcodeOutput":249},[234],"expiry",[],[237,238,239,240,241,242,243,244,245],"name=\"exp-aa\"","name=\"exp-mm\"","name=\"exp-jj\"","name=\"exp-hh\"","name=\"exp-mn\"","name=\"exp-ss\"","name=\"expiring_posts_nonce\"","name=\"exp-enable\"","name=\"hidden_post_status\"",[],[248],"AdminExpiringPosts",[]]