[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fIhMEBkrKpsdKU45MZUdccpGLiHVi9CL6SDbd_oYMsW8":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":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":47,"crawl_stats":37,"alternatives":55,"analysis":163,"fingerprints":227},"archive-page","Archive Page","1.0.3","Alobaidi","https:\u002F\u002Fprofiles.wordpress.org\u002Falobaidi\u002F","\u003Ch3>Archive Page\u003C\u002Fh3>\n\u003Cp>Make archive page easily with full customize and in all languages of the world.\u003C\u002Fp>\n\u003Ch3>The Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Make Archive Page easily in minutes.\u003C\u002Fli>\n\u003Cli>8 Shortcodes only.\u003C\u002Fli>\n\u003Cli>Full Customize.\u003C\u002Fli>\n\u003Cli>All languages of the world.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Live Demo & Explanation of Use\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwp-plugins.in\u002Farchive-page\" rel=\"nofollow ugc\">https:\u002F\u002Fwp-plugins.in\u002Farchive-page\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>You May Also Like – From Our Plugins\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fvideo-popup\u002F\" rel=\"ugc\">Video Popup Plugin\u003C\u002Fa> – Create unlimited, elegant, and responsive popups for YouTube, Vimeo, MP4 & WebM videos on click or On-Page Load.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fthe-preloader\u002F\" rel=\"ugc\">Preloader Plugin\u003C\u002Fa> – Add a preloader to your website easily in only 3 steps. Simple, fast, and compatible with all major browsers.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fextend-link\u002F\" rel=\"ugc\">Extend Link Plugin\u003C\u002Fa> – Link Options for WordPress Editor\u003C\u002Fp>\n","Make archive page easily with full customize and in all languages of the world.",600,13717,100,3,"2025-12-05T02:10:00.000Z","6.9.4","2.8.0","",[20,4,21,22,23],"archive","archive-template","archives","archives-page","https:\u002F\u002Fwp-plugins.in\u002Farchive-page","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Farchive-page.zip",99,1,0,"2025-02-24 00:00:00","2026-03-15T15:16:48.613Z",[32],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":6,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":29,"updated_date":43,"references":44,"days_to_patch":46},"CVE-2025-27280","archive-page-authenticated-contributor-stored-cross-site-scripting","Archive Page \u003C= 1.0.2 - Authenticated (Contributor+) Stored Cross-Site Scripting","The Archive Page plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 1.0.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.",null,"\u003C=1.0.2","medium",6.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-04-17 13:11:54",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F45cd04bb-d3a0-48af-97ac-c5d668d665df?source=api-prod",53,{"slug":48,"display_name":7,"profile_url":8,"plugin_count":49,"total_installs":50,"avg_security_score":51,"avg_patch_time_days":52,"trust_score":53,"computed_at":54},"alobaidi",22,33410,90,52,81,"2026-04-04T20:58:34.423Z",[56,76,97,118,141],{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":13,"num_ratings":66,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":18,"tags":70,"homepage":73,"download_link":74,"security_score":75,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"archive-control","Archive Control","1.3.4","Mike Gillihan","https:\u002F\u002Fprofiles.wordpress.org\u002Fmikegillihan\u002F","\u003Cp>A quick easy way to customize archive pages (or pages with lists of posts like custom post types, categories, tags, or custom taxonomy terms). You can add editable content before or after the list, you can add a featured image. It also allows you to set up the order and pagination on these pages separately from the rest of your site. Taxonomies can share settings across all terms, or have specific settings per term. Administrators can change the settings, site editors can easily change the content.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Archive Titles:\u003C\u002Fstrong> If your theme is using the_archive_title() function, then you can modify the your archive titles.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Remove Labels (Archive, Category, Tag, etc.) – Sometimes you just want to get rid of the annoying default words.\u003C\u002Fli>\n\u003Cli>Custom Override – Allow an editor to write something custom for an archive headline.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Featured Image:\u003C\u002Fstrong> You can allow for a custom featured image that applies to an archive page and have it added above the list automatically, or add it yourself via a theme function.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Content Before List:\u003C\u002Fstrong> Give your site editors the ability to edit content directly before the archive list. You can have it automatically added, or use a theme function to give you more control over their placement (see the “Other Notes” tab).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Content After List:\u003C\u002Fstrong> Give your site editors the ability to edit content directly after the archive list. You can have it automatically added, or use a theme function to give you more control over their placement (see the “Other Notes” tab).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Archive Order By:\u003C\u002Fstrong> Instead of messing with code to change the order of an archive page, now you can do it in a few clicks.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Date Published\u003C\u002Fli>\n\u003Cli>Title\u003C\u002Fli>\n\u003Cli>Date Modified\u003C\u002Fli>\n\u003Cli>Menu Order\u003C\u002Fli>\n\u003Cli>Random\u003C\u002Fli>\n\u003Cli>ID\u003C\u002Fli>\n\u003Cli>Author\u003C\u002Fli>\n\u003Cli>Post Slug\u003C\u002Fli>\n\u003Cli>Post Type\u003C\u002Fli>\n\u003Cli>Comment Count\u003C\u002Fli>\n\u003Cli>Parent\u003C\u002Fli>\n\u003Cli>Meta Value\u003C\u002Fli>\n\u003Cli>Meta Value (Numeric)\u003C\u002Fli>\n\u003Cli>No Order\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Archive Order:\u003C\u002Fstrong> In addition to the order by setting, you’ll also want to change the sort order direction.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Ascending\u003C\u002Fli>\n\u003Cli>Descending\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Archive Pagination:\u003C\u002Fstrong> The pagination settings are easy to change without changing code.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Show Everything\u003C\u002Fli>\n\u003Cli>Custom Posts Per Page\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Term Edit Options:\u003C\u002Fstrong> For categories, tags, and custom taxonomies, you can choose a few additional things.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Per Term Order & Pagination – Customize the order, and pagination on a per term basis.\u003C\u002Fli>\n\u003Cli>Hide Description Field – You can choose to hide the term description field within the WordPress backend.\u003C\u002Fli>\n\u003Cli>Hide Parent Field – On hierarchal taxonomies, you can choose to hide the parent field within the WordPress backend.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin doesn’t add any CSS or javascript to the front end. The styling of the archive page is left completely up to you. This plugin should be friendly for power users and developers alike. You can use it entirely without changing theme code, or you can control the placement and functionality more exactly using the provided functions. See the “Other Notes” tab.\u003C\u002Fp>\n\u003Cp>Have an idea that should be added? Let me know at \u003Ca href=\"https:\u002F\u002Fswitchwp.com\u002Fplugins\u002Farchive-control\u002F\" rel=\"nofollow ugc\">SwitchWP\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Functions Provided by the Plugin\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>the_archive_top_content( \u003Cem>boolean\u003C\u002Fem> $html = true )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Displays the \u003Cem>top\u003C\u002Fem> archive content on an archive page. Additional html markup can be removed by setting false.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>archive_top_content( \u003Cem>boolean\u003C\u002Fem> $html = true, \u003Cem>string\u003C\u002Fem> $post_type_slug = null, \u003Cem>string\u003C\u002Fem> $term_id = null )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Displays the \u003Cem>top\u003C\u002Fem> archive content for any post type anywhere on the site. Additional html markup can be removed by setting false. Post type is automatic if on an archive page.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>get_archive_top_content( \u003Cem>string\u003C\u002Fem> $post_type_slug = null, \u003Cem>string\u003C\u002Fem> $term_id = null )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Returns the \u003Cem>top\u003C\u002Fem> archive content for any post type anywhere on the site. Post type or term id is automatic if on an archive page.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>the_archive_bottom_content( \u003Cem>boolean\u003C\u002Fem> $html = true )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Displays the \u003Cem>bottom\u003C\u002Fem> archive content on an archive page. Additional html markup can be removed by setting false.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>archive_bottom_content( \u003Cem>boolean\u003C\u002Fem> $html = true, \u003Cem>string\u003C\u002Fem> $post_type_slug = null, \u003Cem>string\u003C\u002Fem> $term_id = null )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Displays the \u003Cem>bottom\u003C\u002Fem> archive content for any post type anywhere on the site. Additional html markup can be removed by setting false. Post type is automatic if on an archive page.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>get_archive_bottom_content( \u003Cem>string\u003C\u002Fem> $post_type_slug = null, \u003Cem>string\u003C\u002Fem> $term_id = null )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Returns the \u003Cem>top\u003C\u002Fem> archive content for any post type anywhere on the site. Post type  or term id is automatic if on an archive page.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>the_archive_thumbnail( \u003Cem>string\u003C\u002Fem> $size = ‘large’, \u003Cem>string\u003C\u002Fem> $post_type_slug = null, \u003Cem>string\u003C\u002Fem> $term_id = null )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Display the archive thumbnail. Default size is large but first parameter can set any valid image size, or an array of width and height values in pixels (in that order). Post type is automatic if on an archive page.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>get_archive_thumbnail_src( \u003Cem>string\u003C\u002Fem> $size = ‘large’, \u003Cem>string\u003C\u002Fem> $post_type_slug = null, \u003Cem>string\u003C\u002Fem> $term_id = null )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Returns the archive image url source. Default size is large but first parameter can set any valid image size, or an array of width and height values in pixels (in that order). Post type is automatic if on an archive page.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>get_archive_thumbnail_id( \u003Cem>string\u003C\u002Fem> $post_type_slug = null, \u003Cem>string\u003C\u002Fem> $term_id = null )\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Returns the archive thumbnail id. if you want to use other common WordPress attachment functions to retrieve data about the image. Post type or term id is automatic if on an archive page.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n","Quickly customize your custom post type and taxonomy archives with a custom headline, image, and editable content. Modify order and pagination.",1000,22392,11,"2023-11-30T16:13:00.000Z","6.1.10","4.1",[20,4,21,71,72],"custom-post-type","post-type","https:\u002F\u002Fswitchwp.com\u002Fplugins\u002Farchive-control\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Farchive-control.zip",85,{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":28,"num_ratings":28,"last_updated":86,"tested_up_to":87,"requires_at_least":88,"requires_php":89,"tags":90,"homepage":18,"download_link":96,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"disable-archive-pages","Disable Archive Pages","1.0.0","Kasper Knudsen","https:\u002F\u002Fprofiles.wordpress.org\u002Fkasper-knudsen\u002F","\u003Cp>This plugin allows you to disable public archive pages such as:\u003Cbr \u002F>\n– Category archives\u003Cbr \u002F>\n– Tag archives\u003Cbr \u002F>\n– Author archives\u003Cbr \u002F>\n– Date-based archives\u003Cbr \u002F>\n– Custom taxonomy archives\u003Cbr \u002F>\n– Custom post type archives\u003C\u002Fp>\n\u003Cp>Each disabled archive will:\u003Cbr \u002F>\n– Return a 404 error\u003Cbr \u002F>\n– Be excluded from XML sitemaps\u003C\u002Fp>\n\u003Cp>Useful for SEO and improving site clarity by removing thin or duplicate content.\u003C\u002Fp>\n","Disable unwanted archive pages like category, tag, author, date, and custom post type archives.",40,313,"2025-07-23T17:31:00.000Z","6.8.5","6.0","7.4",[91,92,93,94,95],"disable-archives","disable-author","disable-category","disable-tag","remove-archive-pages","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-archive-pages.zip",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":105,"downloaded":106,"rating":107,"num_ratings":108,"last_updated":109,"tested_up_to":16,"requires_at_least":110,"requires_php":18,"tags":111,"homepage":116,"download_link":117,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"disable-author-archives","Disable Author Archives","1.3.5","freemp","https:\u002F\u002Fprofiles.wordpress.org\u002Ffreemp\u002F","\u003Cp>A simple, lightweight WordPress plugin to completely disable author archives\u002Fpages (regardless of whether the corresponding author really exists) and make the web server return status code 404 (‘Not Found’) instead. Related links will also be either disabled or completely removed.\u003C\u002Fp>\n\u003Cp>The plugin does not require any configuration. Once activated, it will start doing its job.\u003C\u002Fp>\n","Disable Author Archives completely removes author archives and makes the web server return status code 404 ('Not Found') instead.",10000,72271,88,7,"2025-12-03T07:54:00.000Z","2.9",[22,112,113,114,115],"author","disable","links","pages","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdisable-author-archives","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-author-archives.zip",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":128,"num_ratings":129,"last_updated":130,"tested_up_to":131,"requires_at_least":132,"requires_php":133,"tags":134,"homepage":138,"download_link":139,"security_score":140,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"smart-archive-page-remove","Smart Archive Page Remove","5.1.3","Peter Raschendorfer","https:\u002F\u002Fprofiles.wordpress.org\u002Fpetersplugins\u002F","\u003Cp>The Smart Archive Page Remove Plugin allows you to remove Archive Pages automatically generated by WordPress\u003C\u002Fp>\n\u003Ch3>Retired Plugin\u003C\u002Fh3>\n\u003Cp>Development, maintenance and support of this plugin has been retired in october 2023. You can use this plugin as long as is works for you.\u003C\u002Fp>\n\u003Cp>There will be no more updates and I won’t answer any support questions. Thanks for your understanding.\u003C\u002Fp>\n\u003Cp>Feel free to fork this plugin.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>WordPress automatically generates Author based, Category based, Tag based and Date based (daily, monthly and yearly) archives for your posts. Even if you do not want to use these Pages – e.g. you don’t want to have an author based archive page on a single author blog or you don’t want to have a daily archive because you don’t post several times a day – they exist and they can be accessed by their automated generated URL.\u003C\u002Fp>\n\u003Cp>The smart Archive Page Remove Plugin adds an item ‘Archive Pages’ in the ‘Settings’ section of your WordPress Admin. Here you can select which Archive Pages you want to \u003Cstrong>remove\u003C\u002Fstrong>. Removed Archive Pages are no longer accessible and cause a 404 page not found error. They can be restored anytime.\u003C\u002Fp>\n\u003Ch3>Plugin Privacy Information\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>This plugin does not set cookies\u003C\u002Fli>\n\u003Cli>This plugin does not collect or store any data\u003C\u002Fli>\n\u003Cli>This plugin does not send any data to external servers\u003C\u002Fli>\n\u003C\u002Ful>\n","Completely remove unwanted Archive Pages from your Blog",7000,95016,98,59,"2024-04-17T20:15:00.000Z","6.3.8","4.0","5.4",[4,135,136,137,95],"archive-pages","delete-archive","remove-archive","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsmart-archive-page-remove\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmart-archive-page-remove.5.1.3.zip",92,{"slug":142,"name":143,"version":144,"author":145,"author_profile":146,"description":147,"short_description":148,"active_installs":149,"downloaded":150,"rating":151,"num_ratings":152,"last_updated":153,"tested_up_to":154,"requires_at_least":155,"requires_php":18,"tags":156,"homepage":160,"download_link":161,"security_score":13,"vuln_count":27,"unpatched_count":28,"last_vuln_date":162,"fetched_at":30},"simple-yearly-archive","Simple Yearly Archive","2.2.4","wpseek","https:\u002F\u002Fprofiles.wordpress.org\u002Falphawolf\u002F","\u003Cp>Simple Yearly Archive is a rather neat and simple WordPress plugin that allows you to \u003Cstrong>display your archives in a year-based list\u003C\u002Fstrong>. It works mostly like the usual WP archive, but displays all published posts seperated by their year of publication. That said, it’s also possible to restrict the output to certain categories, and much more.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>See \u003Ca href=\"https:\u002F\u002Fwww.schloebe.de\u002Fwordpress\u002Fsimple-yearly-archive-plugin\u002F#tabwidget-27592\" title=\"Usage\" rel=\"nofollow ugc\">Usage\u003C\u002Fa> for examples, available parameters and more.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Included languages:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>German (de_DE) (Thanks to me ;-))\u003C\u002Fli>\n\u003Cli>German (de_DE_formal) (Thanks for contributing formal german language goes to \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpavog\" rel=\"nofollow ugc\">Paul Vogel\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Italian (it_IT) (Thanks for contributing italian language goes to \u003Ca href=\"https:\u002F\u002Fgidibao.net\" rel=\"nofollow ugc\">Gianni Diurno\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Russian (ru_RU) (Thanks for contributing russian language goes to \u003Ca href=\"https:\u002F\u002Fgrugl.me\" rel=\"nofollow ugc\">Dimitry German\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Belorussian (by_BY) (Thanks for contributing belorussian language goes to \u003Ca href=\"https:\u002F\u002Fwww.fatcow.com\" rel=\"nofollow ugc\">Marcis Gasuns\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Uzbek (uz_UZ) (Thanks for contributing uzbek language goes to \u003Ca href=\"https:\u002F\u002Fwww.comfi.com\" rel=\"nofollow ugc\">Alexandra Bolshova\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>French (fr_FR) (Thanks for contributing french language goes to \u003Ca href=\"https:\u002F\u002Fwww.li-an.fr\u002Fblog\" rel=\"nofollow ugc\">Jean-Michel Meyer\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Chinese (zh_CN) (Thanks for contributing chinese language goes to \u003Ca href=\"https:\u002F\u002Fmarianama.net\" rel=\"nofollow ugc\">Mariana Ma\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Japanese (ja) (Thanks for contributing japanese language goes to \u003Ca href=\"https:\u002F\u002Fstaff.blog.bng.net\" rel=\"nofollow ugc\">Chestnut\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Portuguese Brazil (pt_BR) (Thanks for contributing portuguese brazil language goes to LucasTolle)\u003C\u002Fli>\n\u003Cli>Dutch (nl_NL) (Thanks for contributing dutch language goes to Bart Verkerk)\u003C\u002Fli>\n\u003Cli>Spanish (es) (Spanish translation by \u003Ca href=\"https:\u002F\u002Fwww.ibidemgroup.com\" rel=\"nofollow ugc\">Ibidem Group\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.schloebe.de\u002Farchiv\u002F\" title=\"Click here for a demo\" rel=\"nofollow ugc\">Click here for a demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fx.com\u002Fwpseek\" title=\"Developer on X\" rel=\"nofollow ugc\">Developer on X\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fbsky.app\u002Fprofile\u002Fcyberblitzbirne.bsky.social\" title=\"Developer on Bluesky\" rel=\"nofollow ugc\">Developer on Bluesky\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Looking for more WordPress plugins? Visit \u003Ca href=\"https:\u002F\u002Fwww.schloebe.de\u002Fportfolio\u002F\" rel=\"nofollow ugc\">www.schloebe.de\u002Fportfolio\u002F\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n","Simple Yearly Archive is a rather neat and simple Wordpress plugin that allows you to display your archives in a year-based list.",6000,188503,94,30,"2026-02-15T14:05:00.000Z","6.9.99","3.7",[20,22,157,158,159],"gettext","wpml","wp_query","https:\u002F\u002Fwww.schloebe.de\u002Fwordpress\u002Fsimple-yearly-archive-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-yearly-archive.zip","2023-02-13 00:00:00",{"attackSurface":164,"codeSignals":207,"taintFlows":215,"riskAssessment":216,"analyzedAt":226},{"hooks":165,"ajaxHandlers":179,"restRoutes":180,"shortcodes":181,"cronEvents":206,"entryPointCount":178,"unprotectedCount":28},[166,173],{"type":167,"name":168,"callback":169,"priority":170,"file":171,"line":172},"filter","plugin_row_meta","alobaidi_archive_page_plugin_row_meta",10,"archive-page.php",49,{"type":174,"name":175,"callback":176,"file":177,"line":178},"action","admin_menu","alobaidi_archive_page_shortocodes","shortcodes-page.php",8,[],[],[182,185,188,191,194,197,200,203],{"tag":183,"callback":183,"file":171,"line":184},"obi_daily_archive",158,{"tag":186,"callback":186,"file":171,"line":187},"obi_monthly_archive",195,{"tag":189,"callback":189,"file":171,"line":190},"obi_yearly_archive",232,{"tag":192,"callback":192,"file":171,"line":193},"obi_latest_posts",269,{"tag":195,"callback":195,"file":171,"line":196},"obi_get_cats",304,{"tag":198,"callback":198,"file":171,"line":199},"obi_get_tags",341,{"tag":201,"callback":201,"file":171,"line":202},"obi_get_pages",378,{"tag":204,"callback":204,"file":171,"line":205},"obi_get_authors",415,[],{"dangerousFunctions":208,"sqlUsage":209,"outputEscaping":211,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":214},[],{"prepared":28,"raw":28,"locations":210},[],{"escaped":212,"rawEcho":28,"locations":213},32,[],[],[],{"summary":217,"deductions":218},"The \"archive-page\" plugin v1.0.3 exhibits a generally good security posture based on the static analysis.  The absence of dangerous functions, the use of prepared statements for all SQL queries, and proper output escaping demonstrate adherence to fundamental security practices.  Furthermore, the lack of file operations, external HTTP requests, and the absence of critical or high-severity taint flows are positive indicators.  However, the plugin's static analysis reveals a notable lack of security checks like nonce checks and capability checks, which are critical for protecting entry points, especially shortcodes.  The existence of one past medium-severity CVE for Cross-site Scripting, even though it is now patched, suggests that there might be a tendency for input sanitization to be overlooked in certain contexts within the plugin's development.\n\nWhile the current version shows no critical vulnerabilities and all historical CVEs are patched, the reliance on shortcodes as the sole entry points without explicit nonce or capability checks presents a significant concern.  Attackers could potentially exploit these unchecked shortcodes if they can trigger them with malicious input, leading to cross-site scripting or other input-based vulnerabilities. The plugin's overall security is compromised by this oversight, despite its strong foundation in other areas.",[219,221,223],{"reason":220,"points":178},"Missing nonce checks on shortcodes",{"reason":222,"points":178},"Missing capability checks on shortcodes",{"reason":224,"points":225},"Past medium severity XSS vulnerability",5,"2026-03-16T19:26:46.818Z",{"wat":228,"direct":233},{"assetPaths":229,"generatorPatterns":230,"scriptPaths":231,"versionParams":232},[],[],[],[],{"cssClasses":234,"htmlComments":245,"htmlAttributes":246,"restEndpoints":247,"jsGlobals":248,"shortcodeOutput":249},[235,236,237,238,239,240,241,242,243,244],"obi-archive-title","obi-archive-daily-t","obi-archive-list","obi-archive-daily-l","obi-archive-monthly-t","obi-archive-monthly-l","obi-archive-yearly-t","obi-archive-yearly-l","obi-archive-posts-t","obi-archive-posts-l",[],[],[],[],[250,251,252,253,254,255,256,257,258,259,260,261,262,263,264],"\u003Ch3 class=\"obi-archive-title obi-archive-daily-t\">Daily Archive\u003C\u002Fh3>","\u003Col class=\"obi-archive-list obi-archive-daily-l\">","\u003Cli>","\u003Ca href=\"","\" title=\"","\">","\u003C\u002Fa>","\u003C\u002Fli>","\u003C\u002Fol>","\u003Ch3 class=\"obi-archive-title obi-archive-monthly-t\">Monthly Archive\u003C\u002Fh3>","\u003Col class=\"obi-archive-list obi-archive-monthly-l\">","\u003Ch3 class=\"obi-archive-title obi-archive-yearly-t\">Yearly Archive\u003C\u002Fh3>","\u003Col class=\"obi-archive-list obi-archive-yearly-l\">","\u003Ch3 class=\"obi-archive-title obi-archive-posts-t\">Latest Posts\u003C\u002Fh3>","\u003Cul class=\"obi-archive-list obi-archive-posts-l\">"]