[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fQVhn9-jBPJOFWJuP-CQYZ_42JTkqLWoMPTt5CtSETiI":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":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":38,"analysis":137,"fingerprints":214},"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",200,5608,98,7,"2015-04-19T11:50:00.000Z","4.1.42","3.8","",[20,21,22,23,24],"date-of-deactivation","date-of-expiring","expired","expiring","posts-expiring","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-expiring.1.4.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":26,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"potreb",2,1200,30,84,"2026-04-04T02:13:00.837Z",[39,60,83,102,122],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":18,"tags":54,"homepage":18,"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,56,57,24,58],"expiration","expire","expired-post","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":75,"tags":76,"homepage":81,"download_link":82,"security_score":70,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"delete-expired-transients","Delete Expired Transients","2.0.7","webaware","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebaware\u002F","\u003Cp>Delete old, expired transients from the WordPress options table (\u003Ccode>wp_options\u003C\u002Fcode>), to prevent them from bloating your database and even slowing down your website.\u003C\u002Fp>\n\u003Cp>Unless you are using an object cache (like memcached), WordPress stores transient records in the options table. Many transients are given an expiration time, so in theory they should disappear after some time. In practise, because old transients are only deleted when requested again after they’ve expired, many transients stay in the database. After a while, there can be thousands or even millions of expired transients needlessly taking up space in your options table, depending on what your plugins are doing.\u003C\u002Fp>\n\u003Cp>Delete Expired Transients schedules a daily task to delete any expired transients from the options table. It performs this operation with a single SQL query, and then runs a second query to find any orphaned expiration records and deletes them too.\u003C\u002Fp>\n\u003Cp>There are a few other plugins around that clean up expired transients. This one is written for fast performance, set-and-forget scheduled housekeeping, and maximum compatibility. It uses the PHP time to determine whether transients are expired, not the database time (which can be different). It does only one job, and it does it well with the minimum of resources.\u003C\u002Fp>\n\u003Cp>Now optimised for WordPress Multisite.\u003C\u002Fp>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cp>Many thanks to the generous efforts of our translators:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English (en_CA) — \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Flocale\u002Fen-ca\u002Fdefault\u002Fwp-plugins\u002Fdelete-expired-transients\" rel=\"nofollow ugc\">the English (Canadian) translation team\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>English (en_GB) — \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Flocale\u002Fen-gb\u002Fdefault\u002Fwp-plugins\u002Fdelete-expired-transients\" rel=\"nofollow ugc\">the English (British) translation team\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>English (en_ZA) — \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Flocale\u002Fen-za\u002Fdefault\u002Fwp-plugins\u002Fdelete-expired-transients\" rel=\"nofollow ugc\">the English (South African) translation team\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>French (fr_FR) — \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Flocale\u002Ffr\u002Fdefault\u002Fwp-plugins\u002Fdelete-expired-transients\" rel=\"nofollow ugc\">the French translation team\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Hungarian (hu_HU) — \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Flocale\u002Fhu\u002Fdefault\u002Fwp-plugins\u002Fdelete-expired-transients\" rel=\"nofollow ugc\">the Hungarian translation team\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Norwegian: Bokmål (nb_NO) — \u003Ca href=\"https:\u002F\u002Fwww.neonnero.com\u002F\" rel=\"nofollow ugc\">neonnero\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Norwegian: Nynorsk (nn_NO) — \u003Ca href=\"https:\u002F\u002Fwww.neonnero.com\u002F\" rel=\"nofollow ugc\">neonnero\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Russian (ru_RU) — \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Flocale\u002Fru\u002Fdefault\u002Fwp-plugins\u002Fdelete-expired-transients\" rel=\"nofollow ugc\">the Russian translation team\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Spanish (es_ES) — \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Flocale\u002Fes\u002Fdefault\u002Fwp-plugins\u002Fdelete-expired-transients\" rel=\"nofollow ugc\">the Spanish translation team\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you’d like to help out by translating this plugin, please \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fdelete-expired-transients\" rel=\"nofollow ugc\">sign up for an account and dig in\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Contributions\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fdelete-expired-transients\" rel=\"nofollow ugc\">Translate into your preferred language\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwebaware\u002Fdelete-expired-transients\" rel=\"nofollow ugc\">Fork me on GitHub\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy\u003C\u002Fh3>\n\u003Cp>Delete Expired Transients does not collect any personally identifying information, and does not set any cookies. It removes some old information from the database, potentially reducing a website’s exposure to leakage of personally identifying information.\u003C\u002Fp>\n","Delete old, expired transients from WordPress wp_options table",5000,116909,100,13,"2025-12-14T03:52:00.000Z","6.9.4","3.7","5.3",[77,22,78,79,80],"cache","transient","transients","wp_options","https:\u002F\u002Fshop.webaware.com.au\u002Fdownloads\u002Fdelete-expired-transients\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdelete-expired-transients.2.0.7.zip",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":93,"num_ratings":33,"last_updated":94,"tested_up_to":95,"requires_at_least":96,"requires_php":75,"tags":97,"homepage":100,"download_link":101,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"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",[56,98,23,84,99],"expire-posts","post-expiry","https:\u002F\u002Fgithub.com\u002Fivankruchkoff\u002Fwp-expiring-posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpiring-posts.1.3.zip",{"slug":103,"name":104,"version":105,"author":106,"author_profile":107,"description":108,"short_description":109,"active_installs":110,"downloaded":111,"rating":112,"num_ratings":14,"last_updated":113,"tested_up_to":114,"requires_at_least":115,"requires_php":18,"tags":116,"homepage":120,"download_link":121,"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,"2016-12-18T18:01:00.000Z","4.5.33","3.8.2",[117,56,118,23,119],"automation","expires","schedule","https:\u002F\u002Fgithub.com\u002FVisuAlive\u002Fva-simple-expires","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fva-simple-expires.zip",{"slug":123,"name":124,"version":125,"author":126,"author_profile":127,"description":128,"short_description":129,"active_installs":130,"downloaded":131,"rating":70,"num_ratings":33,"last_updated":132,"tested_up_to":18,"requires_at_least":133,"requires_php":18,"tags":134,"homepage":135,"download_link":136,"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,"2011-08-08T08:09:00.000Z","3.0.3",[117,56,118,23,119],"http:\u002F\u002Fwww.wordpress.org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-expires.zip",{"attackSurface":138,"codeSignals":191,"taintFlows":203,"riskAssessment":204,"analyzedAt":213},{"hooks":139,"ajaxHandlers":187,"restRoutes":188,"shortcodes":189,"cronEvents":190,"entryPointCount":27,"unprotectedCount":27},[140,146,150,155,161,165,168,171,174,178,181,185],{"type":141,"name":142,"callback":143,"file":144,"line":145},"action","admin_enqueue_scripts","enqueue_scripts","post-expiring.php",15,{"type":141,"name":147,"callback":148,"file":144,"line":149},"post_submitbox_misc_actions","add_expiring_field",16,{"type":141,"name":151,"callback":152,"priority":153,"file":144,"line":154},"save_post","save_post_meta",10,17,{"type":156,"name":157,"callback":158,"priority":159,"file":144,"line":160},"filter","manage_post_posts_columns","manage_posts_columns",5,19,{"type":141,"name":162,"callback":163,"priority":159,"file":144,"line":164},"manage_post_posts_custom_column","manage_posts_custom_column",20,{"type":156,"name":166,"callback":158,"priority":159,"file":144,"line":167},"manage_page_posts_columns",22,{"type":141,"name":169,"callback":163,"priority":159,"file":144,"line":170},"manage_page_posts_custom_column",23,{"type":156,"name":172,"callback":172,"priority":153,"file":144,"line":173},"posts_clauses",25,{"type":156,"name":175,"callback":176,"priority":153,"file":144,"line":177},"get_next_post_join","posts_join_clauses",27,{"type":156,"name":179,"callback":176,"priority":153,"file":144,"line":180},"get_previous_post_join",28,{"type":156,"name":182,"callback":183,"priority":153,"file":144,"line":184},"get_next_post_where","posts_where_clauses",29,{"type":156,"name":186,"callback":183,"priority":153,"file":144,"line":35},"get_previous_post_where",[],[],[],[],{"dangerousFunctions":192,"sqlUsage":193,"outputEscaping":195,"fileOperations":27,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":202},[],{"prepared":27,"raw":27,"locations":194},[],{"escaped":196,"rawEcho":197,"locations":198},4,1,[199],{"file":144,"line":200,"context":201},110,"raw output",[],[],{"summary":205,"deductions":206},"The 'post-expiring' v1.4 plugin exhibits a strong security posture based on the provided static analysis. The absence of any identified AJAX handlers, REST API routes, shortcodes, or cron events indicates a minimal attack surface, which is further reinforced by the lack of unprotected entry points.  The code signals are also encouraging, with no dangerous functions detected, all SQL queries utilizing prepared statements, and a high percentage of output escaping. This suggests robust development practices aimed at preventing common vulnerabilities.\n\nThe vulnerability history is equally positive, with no known CVEs recorded for this plugin. This lack of past security incidents, coupled with the clean static analysis, indicates a low likelihood of immediate, exploitable vulnerabilities.  However, the complete absence of nonce checks and capability checks on potential entry points (even if there are none currently exposed) represents a potential weakness. If future updates were to introduce new entry points without these essential security measures, it could open the door to vulnerabilities.\n\nIn conclusion, 'post-expiring' v1.4 appears to be a well-secured plugin with no apparent critical security flaws. Its strengths lie in its limited attack surface and adherence to secure coding practices like prepared statements and output escaping. The primary area of concern, albeit theoretical at this stage, is the lack of explicit nonce and capability checks, which is a good practice to implement even in plugins with minimal exposed functionality.",[207,209,211],{"reason":208,"points":159},"No nonce checks",{"reason":210,"points":159},"No capability checks",{"reason":212,"points":33},"Some outputs not escaped","2026-03-16T20:30:06.198Z",{"wat":215,"direct":223},{"assetPaths":216,"generatorPatterns":218,"scriptPaths":219,"versionParams":222},[217],"\u002Fwp-content\u002Fplugins\u002Fpost-expiring\u002Fassets\u002Fcss\u002Fpost-expiring.css",[],[220,221],"\u002Fwp-content\u002Fplugins\u002Fpost-expiring\u002Fassets\u002Fjs\u002Fjquery.datetimepicker.js","\u002Fwp-content\u002Fplugins\u002Fpost-expiring\u002Fassets\u002Fjs\u002Fadmin.js",[],{"cssClasses":224,"htmlComments":231,"htmlAttributes":232,"restEndpoints":234,"jsGlobals":235,"shortcodeOutput":237},[225,226,227,228,229,230],"expiring-datepicker","setexpiringdate","edit-expiringdate","expiringdatediv","set-expiringdate","cancel-expiringdate",[],[233],"data-exdate",[],[236],"jQuery",[]]