[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fNkQsMgVqmBklC4i9F9jRCmhDKr1T5IidIe5VbXwAIPw":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":17,"tags":18,"homepage":21,"download_link":22,"security_score":23,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":34,"analysis":139,"fingerprints":178},"smarter-archives","Smarter Archives","3.2.5","rob1n","https:\u002F\u002Fprofiles.wordpress.org\u002Frob1n\u002F","\u003Cp>When you use the \u003Ccode>[smarter-archives]\u003C\u002Fcode> shortcode anywhere in a post or a page, it gets replaced by a listing of every year since you started posting, with a list of links to each month for that year. However, the plugin is smart enough to know if you didn’t create any content in any given month, and doesn’t make a link for that month. See the \u003Cstrong>Screenshots\u003C\u002Fstrong> section for an example of it in action.\u003C\u002Fp>\n\u003Cp>See the \u003Cstrong>Usage\u003C\u002Fstrong> section for a complete list of the arguments the shortcode takes, and how you can use them to customize your archives listing.\u003C\u002Fp>\n\u003Cp>The month names are \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FI18n_for_WordPress_Developers\" rel=\"nofollow ugc\">internationalized with the WordPress translation API\u003C\u002Fa>. A POT file is included, and if you want to translate please feel free to do so and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frobinadr\u002Fsmarter-archives\u002Fpulls\" rel=\"nofollow ugc\">submit a new pull request\u003C\u002Fa> on GitHub. If you do not know how to use GitHub, you can also \u003Ca href=\"http:\u002F\u002Frobinadr.com\u002Fcontact\" rel=\"nofollow ugc\">contact me directly\u003C\u002Fa>. Here are the translations that have been done so far:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Dutch (nl_NL)\u003C\u002Fli>\n\u003Cli>French (fr_FR)\u003C\u002Fli>\n\u003Cli>German (de_DE)\u003C\u002Fli>\n\u003Cli>Italian (it_IT)\u003C\u002Fli>\n\u003Cli>Spanish (es_ES)\u003C\u002Fli>\n\u003Cli>Russian (ru_RU)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The original concept for this plugin comes from a plugin by Justin Blanton.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>The \u003Ccode>[smarter-archives]\u003C\u002Fcode> shortcode takes these arguments (default values included):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>mode\u003C\u002Fcode> (default: \u003Ccode>output\u003C\u002Fcode>) — if it’s set to \u003Ccode>output\u003C\u002Fcode>, the plugin prints the listing. Set it to \u003Ccode>false\u003C\u002Fcode> to return the value\u003C\u002Fli>\n\u003Cli>\u003Ccode>wrapper_class\u003C\u002Fcode> (default: \u003Ccode>smart-archives\u003C\u002Fcode>) — class given to the tag wrapped around the listing (\u003Ccode>\u003Cdiv>\u003C\u002Fcode> by default)\u003C\u002Fli>\n\u003Cli>\u003Ccode>wrapper_tag\u003C\u002Fcode> (default: \u003Ccode>div\u003C\u002Fcode>) — tag wrapped around the listing\u003C\u002Fli>\n\u003Cli>\u003Ccode>year_link_class\u003C\u002Fcode> (default: \u003Ccode>year-link\u003C\u002Fcode>) — class given to each year links\u003C\u002Fli>\n\u003Cli>\u003Ccode>year_tag\u003C\u002Fcode> (default: \u003Ccode>p\u003C\u002Fcode>) — tag around each year group\u003C\u002Fli>\n\u003Cli>\u003Ccode>year_class\u003C\u002Fcode> (default: none) — class for the tag around each year group\u003C\u002Fli>\n\u003Cli>\u003Ccode>after_year\u003C\u002Fcode> (default: \u003Ccode>:\u003C\u002Fcode>) — value after the year and before the list of months\u003C\u002Fli>\n\u003Cli>\u003Ccode>month_link_class\u003C\u002Fcode> (default: \u003Ccode>month-link\u003C\u002Fcode>) — class given to each month link\u003C\u002Fli>\n\u003Cli>\u003Ccode>month_tag\u003C\u002Fcode> (default: \u003Ccode>span\u003C\u002Fcode>) — tag around each month\u003C\u002Fli>\n\u003Cli>\u003Ccode>after_month\u003C\u002Fcode> (default: \u003Ccode>&nbsp;\u003C\u002Fcode>) — spacer between months\u003C\u002Fli>\n\u003Cli>\u003Ccode>empty_month_class\u003C\u002Fcode> (default: \u003Ccode>empty-month\u003C\u002Fcode>) — class applied to empty months (can use this to gray them out)\u003C\u002Fli>\n\u003Cli>\u003Ccode>order\u003C\u002Fcode> (default: \u003Ccode>DESC\u003C\u002Fcode>) — order the years are shown in (\u003Ccode>ASC\u003C\u002Fcode> for ascending, \u003Ccode>DESC\u003C\u002Fcode> for descending)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Advanced Usage\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>There is a function, \u003Ccode>get_smarter_archives()\u003C\u002Fcode>, that returns the raw array with the years, months, and post counts. You can use this for ultimate customization.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example Usage\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[smarter-archives order=\"DESC\" after_month=\"&bull;\"]\u003Ch3>License\u003C\u002Fh3>\nThis program is free software; you can redistribute it and\u002For\nmodify it under the terms of the GNU General Public License\nas published by the Free Software Foundation; either version 2\nof the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program; if not, write to the Free Software\nFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>A full version of the license is included with the plugin in \u003Ccode>license.txt\u003C\u002Fcode>.\u003C\u002Fp>\n","Easily navigate the yearly and monthly archives of your blog.",100,17159,80,2,"2020-08-17T01:36:00.000Z","5.5.18","",[19,20],"archive","archives","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsmarter-archives\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmarter-archives.3.2.5.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":30,"avg_security_score":23,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},4,180,30,84,"2026-04-04T15:13:52.670Z",[35,57,79,96,119],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":17,"tags":50,"homepage":55,"download_link":56,"security_score":11,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":26},"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","6.9.4","2.9",[20,51,52,53,54],"author","disable","links","pages","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdisable-author-archives","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-author-archives.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":31,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":17,"tags":71,"homepage":75,"download_link":76,"security_score":11,"vuln_count":77,"unpatched_count":24,"last_vuln_date":78,"fetched_at":26},"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,"2026-02-15T14:05:00.000Z","6.9.99","3.7",[19,20,72,73,74],"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",1,"2023-02-13 00:00:00",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":87,"downloaded":88,"rating":24,"num_ratings":24,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":17,"tags":92,"homepage":94,"download_link":95,"security_score":23,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":26},"advanced-posts-per-page","Advanced Posts\u002FPage","1.0","chrisguitarguy","https:\u002F\u002Fprofiles.wordpress.org\u002Fchrisguitarguy\u002F","\u003Cp>Advanced Posts per Page gives you fined grained control over how many of your posts appear on each of your various WordPress archive pages.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Blog pages show at most x posts is not the only per page setting anymore.\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Fine grained control of how many of your posts appear on each of the various WordPress archive pages.",4000,4715,"2012-07-18T01:35:00.000Z","3.5.2","3.4",[19,20,93],"posts-per-page","https:\u002F\u002Fgithub.com\u002Fchrisguitarguy\u002FAdvanced-Posts-Page","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-posts-per-page.1.0.zip",{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":104,"downloaded":105,"rating":106,"num_ratings":107,"last_updated":108,"tested_up_to":48,"requires_at_least":109,"requires_php":17,"tags":110,"homepage":115,"download_link":116,"security_score":117,"vuln_count":77,"unpatched_count":24,"last_vuln_date":118,"fetched_at":26},"collapsing-archives","Collapsing Archives","3.0.8","robfelty","https:\u002F\u002Fprofiles.wordpress.org\u002Frobfelty\u002F","\u003Cp>Create collapsible archives by year or month. Features include: link to archive pages, display of individual posts and support for custom post-types.\u003C\u002Fp>\n\u003Ch3>Demo\u003C\u002Fh3>\n\u003Cp>I use this plugin in my blog at http:\u002F\u002Fblog.robfelty.com\u003C\u002Fp>\n","This plugin uses Javascript to dynamically expand or collapse the set of months for each year and posts for each month in the archive listing of your  &hellip;",3000,146200,82,21,"2026-02-12T03:41:00.000Z","2.8",[111,20,112,113,114],"accordion","collapse","sidebar","widget","http:\u002F\u002Frobfelty.com\u002Fplugins\u002Fcollapsing-archives","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcollapsing-archives.3.0.8.zip",99,"2024-08-26 00:00:00",{"slug":120,"name":121,"version":122,"author":123,"author_profile":124,"description":125,"short_description":126,"active_installs":104,"downloaded":127,"rating":11,"num_ratings":77,"last_updated":128,"tested_up_to":129,"requires_at_least":130,"requires_php":17,"tags":131,"homepage":134,"download_link":135,"security_score":136,"vuln_count":137,"unpatched_count":77,"last_vuln_date":138,"fetched_at":26},"sitekit","Sitekit","2.0","webvitaly","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebvitaly\u002F","\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"http:\u002F\u002Fweb-profile.net\u002Fwordpress\u002Fplugins\u002Fsitekit\u002F\" title=\"Plugin page\" rel=\"nofollow ugc\">Sitekit\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"http:\u002F\u002Fweb-profile.net\u002Fdonate\u002F\" title=\"Support the development\" rel=\"nofollow ugc\">Donate\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwebvitalii\u002Fsitekit\" title=\"Fork\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Settings:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Google Analytics code\u003C\u002Fli>\n\u003Cli>Show\u002Fhide google analytics code if user is logged in\u003C\u002Fli>\n\u003Cli>Head code\u003C\u002Fli>\n\u003Cli>Footer code\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Widgets:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Archives\u003C\u002Fli>\n\u003Cli>Categories\u003C\u002Fli>\n\u003Cli>Pages\u003C\u002Fli>\n\u003Cli>Search\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Shortcodes:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>[sitekit_posts]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>[sitekit_archives]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>[sitekit_categories]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>[sitekit_bloginfo]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>[sitekit_iframe]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Parameters for [sitekit_posts]:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>post_type\u003C\u002Fstrong> – show posts associated with certain type: \u003Ccode>[sitekit_posts post_type=\"page\"]\u003C\u002Fcode>; by default posts are shown: \u003Ccode>[sitekit_posts post_type=\"post\"]\u003C\u002Fcode>; Possible params: post | page | revision | attachment | nav_menu_item | any | your_custom_post_type\u003C\u002Fli>\n\u003Cli>\u003Cstrong>orderby\u003C\u002Fstrong> – the column to use for ordering posts list: \u003Ccode>[sitekit_posts orderby=\"id\"]\u003C\u002Fcode>; by default list is sorted by date: \u003Ccode>[sitekit_posts orderby=\"date\"]\u003C\u002Fcode>; Possible params: modified | title | name | ID | rand\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order\u003C\u002Fstrong> – how to sort posts list: \u003Ccode>[sitekit_posts order=\"DESC\"]\u003C\u002Fcode>; by default list is sorted by ascending order (A-Z): \u003Ccode>[sitekit_posts order=\"ASC\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>posts_per_page\u003C\u002Fstrong> – how many posts to show in the list: \u003Ccode>[sitekit_posts posts_per_page=\"50\"]\u003C\u002Fcode>; by default: \u003Ccode>[sitekit_posts posts_per_page=\"100\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>[sitekit_posts] is based on \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FClass_Reference\u002FWP_Query\" rel=\"nofollow ugc\">WP_Query class\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Parameters for [sitekit_archives]:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>[sitekit_archives]\u003C\u002Fcode> – list of monthly archives links sorted by date;\u003C\u002Fli>\n\u003Cli>\u003Ccode>[sitekit_archives type=\"yearly\"]\u003C\u002Fcode> – list of yearly archives links;\u003C\u002Fli>\n\u003Cli>\u003Ccode>[sitekit_archives type=\"monthly\"]\u003C\u002Fcode> – list of monthly archives links;\u003C\u002Fli>\n\u003Cli>\u003Ccode>[sitekit_archives type=\"weekly\"]\u003C\u002Fcode> – list of weekly archives links;\u003C\u002Fli>\n\u003Cli>\u003Ccode>[sitekit_archives type=\"daily\"]\u003C\u002Fcode> – list of daily archives links;\u003C\u002Fli>\n\u003Cli>\u003Ccode>[sitekit_archives type=\"postbypost\"]\u003C\u002Fcode> – list of all posts links sorted by date;\u003C\u002Fli>\n\u003Cli>\u003Ccode>[sitekit_archives type=\"alpha\"]\u003C\u002Fcode> –  list of all posts links sorted by title;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>limit\u003C\u002Fstrong> – how many links to be included in the list: \u003Ccode>[sitekit_archives limit=\"10\"]\u003C\u002Fcode>; by default all links are shown: \u003Ccode>[sitekit_archives limit=\"\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>format\u003C\u002Fstrong> – format for the archive: \u003Ccode>[sitekit_archives format=\"option\"]\u003C\u002Fcode> – show as a dropdown; by default unordered list is shown: \u003Ccode>[sitekit_archives format=\"html\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_post_count\u003C\u002Fstrong> – display counter of posts in the archive: \u003Ccode>[sitekit_archives show_post_count=\"1\"]\u003C\u002Fcode>; by default counter is not shown: \u003Ccode>[sitekit_archives show_post_count=\"0\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order\u003C\u002Fstrong> – how to sort archives links: \u003Ccode>[sitekit_archives order=\"ASC\"]\u003C\u002Fcode>; by default links are sorted by descending order (Z-A): \u003Ccode>[sitekit_archives order=\"DESC\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>[sitekit_archives] is based on \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fwp_get_archives\" rel=\"nofollow ugc\">wp_get_archives function\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Parameters for [sitekit_categories]:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>orderby\u003C\u002Fstrong> – the column to use for ordering categories list: \u003Ccode>[sitekit_categories orderby=\"id\"]\u003C\u002Fcode>; by default list is sorted by title: \u003Ccode>[sitekit_categories orderby=\"name\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order\u003C\u002Fstrong> – how to sort categories list: \u003Ccode>[sitekit_categories order=\"DESC\"]\u003C\u002Fcode>; by default list is sorted by ascending order (A-Z): \u003Ccode>[sitekit_categories order=\"ASC\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_count\u003C\u002Fstrong> – display counter of posts in the categories list: \u003Ccode>[sitekit_categories show_count=\"1\"]\u003C\u002Fcode>; by default counter is not shown: \u003Ccode>[sitekit_categories show_count=\"0\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>hide_empty\u003C\u002Fstrong> – the column to use for ordering categories list: \u003Ccode>[sitekit_categories hide_empty=\"0\"]\u003C\u002Fcode>; by default empty categories are hidden: \u003Ccode>[sitekit_categories hide_empty=\"1\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>hierarchical\u003C\u002Fstrong> – show tree-like categories list: \u003Ccode>[sitekit_categories hierarchical=\"0\"]\u003C\u002Fcode>; by default the list is hierarchical: \u003Ccode>[sitekit_categories hierarchical=\"1\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>depth\u003C\u002Fstrong> – how many levels to include in categories list: \u003Ccode>[sitekit_categories depth=\"5\"]\u003C\u002Fcode>; by default depth is unlimited: \u003Ccode>[sitekit_categories depth=\"0\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>taxonomy\u003C\u002Fstrong> – which taxonomy to show in the list: \u003Ccode>[sitekit_categories taxonomy=\"post_tag\"]\u003C\u002Fcode>; by default categories are shown: \u003Ccode>[sitekit_categories taxonomy=\"category\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>child_of\u003C\u002Fstrong> – term ID to retrieve child terms of: \u003Ccode>[sitekit_categories child_of=\"77\"]\u003C\u002Fcode>; by default all categories are shown: \u003Ccode>[sitekit_categories child_of=\"0\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>exclude\u003C\u002Fstrong> – comma\u002Fspace-separated string of term IDs to exclude: \u003Ccode>[sitekit_categories exclude=\"77\"]\u003C\u002Fcode>; by default all categories are shown: \u003Ccode>[sitekit_categories exclude=\"\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>exclude_tree\u003C\u002Fstrong> – comma\u002Fspace-separated string of term IDs to exclude, along with their descendants: \u003Ccode>[sitekit_categories exclude_tree=\"77\"]\u003C\u002Fcode>; by default all categories are shown: \u003Ccode>[sitekit_categories exclude_tree=\"\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>[sitekit_categories] is based on \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Ffunctions\u002Fwp_list_categories\u002F\" rel=\"nofollow ugc\">wp_list_categories function\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Parameters for [sitekit_bloginfo]:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>[sitekit_bloginfo show=\"name\"]\u003C\u002Fcode> – \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Ffunctions\u002Fbloginfo\u002F\" rel=\"nofollow ugc\">sitekit_bloginfo params\u003C\u002Fa>;\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>[sitekit_bloginfo] is based on \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Ffunctions\u002Fbloginfo\u002F\" rel=\"nofollow ugc\">bloginfo function\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Parameters for [sitekit_iframe]:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>src\u003C\u002Fstrong> – source of the iframe: \u003Ccode>[sitekit_iframe src=\"http:\u002F\u002Fwww.youtube.com\u002Fembed\u002F4qsGTXLnmKs\"]\u003C\u002Fcode>; by default src=”http:\u002F\u002Fwww.youtube.com\u002Fembed\u002F4qsGTXLnmKs”;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>width\u003C\u002Fstrong> – width in pixels or in percents: \u003Ccode>[sitekit_iframe width=\"100%\"]\u003C\u002Fcode> or \u003Ccode>[sitekit_iframe width=\"600\"]\u003C\u002Fcode>; by default width=”100%”;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>height\u003C\u002Fstrong> – height in pixels: \u003Ccode>[sitekit_iframe height=\"500\"]\u003C\u002Fcode>; by default height=”500″;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>scrolling\u003C\u002Fstrong> – with or without the scrollbar: \u003Ccode>[sitekit_iframe scrolling=\"no\"]\u003C\u002Fcode>; by default scrolling=”yes”;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>frameborder\u003C\u002Fstrong> – with or without the frame border: \u003Ccode>[sitekit_iframe frameborder=\"0\"]\u003C\u002Fcode>; by default frameborder=”0″;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>marginheight\u003C\u002Fstrong> – height of the margin: \u003Ccode>[sitekit_iframe marginheight=\"0\"]\u003C\u002Fcode>; removed by default;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>marginwidth\u003C\u002Fstrong> – width of the margin: \u003Ccode>[sitekit_iframe marginwidth=\"0\"]\u003C\u002Fcode>; removed by default;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>allowtransparency\u003C\u002Fstrong> – allows to set transparency of the iframe: \u003Ccode>[sitekit_iframe allowtransparency=\"true\"]\u003C\u002Fcode>; removed by default;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>id\u003C\u002Fstrong> – allows to add the id of the iframe: \u003Ccode>[sitekit_iframe id=\"custom_id\"]\u003C\u002Fcode>; removed by default;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>class\u003C\u002Fstrong> – allows to add the class of the iframe: \u003Ccode>[sitekit_iframe class=\"custom_class\"]\u003C\u002Fcode>; by default class=”iframe-class”;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>style\u003C\u002Fstrong> – allows to add the css styles of the iframe: \u003Ccode>[sitekit_iframe style=\"margin-left:-30px;\"]\u003C\u002Fcode>; removed by default;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>any_other_param\u003C\u002Fstrong> – allows to add new parameter of the iframe \u003Ccode>[sitekit_iframe any_other_param=\"any_value\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>any_other_empty_param\u003C\u002Fstrong> – allows to add new empty parameter of the iframe (like “allowfullscreen” on youtube) \u003Ccode>[sitekit_iframe any_other_empty_param=\"\"]\u003C\u002Fcode>;\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Parameters for [sitekit_menu]:\u003C\u002Fh4>\n\u003Cp>The \u003Ccode>[sitekit_menu]\u003C\u002Fcode> shortcode allows you to display a custom menu. It supports all the parameters of the WordPress \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Ffunctions\u002Fwp_nav_menu\u002F\" rel=\"nofollow ugc\">wp_nav_menu()\u003C\u002Fa> function.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>menu\u003C\u002Fstrong> – The menu that should be displayed. Accepts (matching in order) id, slug, name. Default: empty. Example: \u003Ccode>[sitekit_menu menu=\"main-menu\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>container\u003C\u002Fstrong> – Whether to wrap the ul, and what to wrap it with. Default ‘div’. Example without a container: \u003Ccode>[sitekit_menu menu=\"main-menu\" container=\"\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>container_class\u003C\u002Fstrong> – The class that is applied to the container. Default ‘menu-{menu slug}-container’. Example: \u003Ccode>[sitekit_menu menu=\"main-menu\" container_class=\"custom-container\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>container_id\u003C\u002Fstrong> – The ID that is applied to the container. Default empty.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>menu_class\u003C\u002Fstrong> – CSS class to use for the ul element which forms the menu. Default ‘menu’.  Example: \u003Ccode>[sitekit_menu menu=\"main-menu\" menu_class=\"custom-menu\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>menu_id\u003C\u002Fstrong> – The ID that is applied to the ul element. Default empty.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>echo\u003C\u002Fstrong> – Whether to echo the menu or return it. Default false.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>fallback_cb\u003C\u002Fstrong> – If the menu doesn’t exist, a callback function will fire. Default ‘wp_page_menu’.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>before\u003C\u002Fstrong> – Text before the link markup. Default empty.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>after\u003C\u002Fstrong> – Text after the link markup. Default empty.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_before\u003C\u002Fstrong> – Text before the link text. Default empty.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_after\u003C\u002Fstrong> – Text after the link text. Default empty.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>items_wrap\u003C\u002Fstrong> – How the list items should be wrapped. Default \u003Ccode>\u003Cul id=\"%1$s\" class=\"%2$s\">%3$s\u003C\u002Ful>\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>depth\u003C\u002Fstrong> – How many levels of the hierarchy are to be included. 0 means all. Default 0. Example: \u003Ccode>[sitekit_menu menu=\"primary-menu\" depth=\"2\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>walker\u003C\u002Fstrong> – Custom walker object to use. Default empty.\u003C\u002Fli>\n\u003C\u002Ful>\n","Widgets: search, archives and categories. Shortcodes: archives, bloginfo, iframe and categories.",54509,"2025-06-15T23:28:00.000Z","6.8.5","4.0",[19,20,132,114,133],"search","widgets","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsitekit\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsitekit.2.0.zip",74,6,"2025-09-22 00:00:00",{"attackSurface":140,"codeSignals":155,"taintFlows":165,"riskAssessment":166,"analyzedAt":177},{"hooks":141,"ajaxHandlers":148,"restRoutes":149,"shortcodes":150,"cronEvents":154,"entryPointCount":77,"unprotectedCount":24},[142],{"type":143,"name":144,"callback":145,"file":146,"line":147},"action","plugins_loaded","_smarter_archives_textdomain","smarter-archives.php",144,[],[],[151],{"tag":4,"callback":152,"file":146,"line":153},"_smarter_archives_shortcode",152,[],{"dangerousFunctions":156,"sqlUsage":157,"outputEscaping":159,"fileOperations":24,"externalRequests":24,"nonceChecks":24,"capabilityChecks":24,"bundledLibraries":164},[],{"prepared":77,"raw":24,"locations":158},[],{"escaped":24,"rawEcho":77,"locations":160},[161],{"file":146,"line":162,"context":163},118,"raw output",[],[],{"summary":167,"deductions":168},"The \"smarter-archives\" v3.2.5 plugin exhibits a mixed security posture. On the positive side, the static analysis reveals no dangerous functions, all SQL queries utilize prepared statements, and there are no recorded CVEs, suggesting a generally well-maintained codebase.  The attack surface is minimal with only one shortcode and no AJAX, REST API, or cron event entry points that lack authentication checks.\n\nHowever, significant concerns arise from the lack of proper output escaping, as 100% of outputs are not escaped. This leaves the plugin vulnerable to Cross-Site Scripting (XSS) attacks, especially if the data displayed by the shortcode is user-controlled or originates from external sources. Additionally, the absence of nonce checks and capability checks is a notable weakness, particularly if the shortcode's functionality involves sensitive operations or data manipulation. The lack of taint analysis results, while potentially indicating no severe findings, also means that complex data flow vulnerabilities might have been missed. \n\nGiven the clean vulnerability history, the plugin has historically been secure. However, the identified code analysis issues, specifically unescaped output and missing capability\u002Fnonce checks, represent tangible risks that need to be addressed. While the attack surface is small, the potential impact of an XSS vulnerability on that surface can be significant. Overall, the plugin has good foundational security practices regarding SQL and known vulnerabilities, but requires immediate attention to output escaping and authentication mechanisms to mitigate critical risks.",[169,172,174],{"reason":170,"points":171},"Unescaped output",8,{"reason":173,"points":46},"Missing capability checks",{"reason":175,"points":176},"Missing nonce checks",5,"2026-03-16T20:43:40.265Z",{"wat":179,"direct":186},{"assetPaths":180,"generatorPatterns":182,"scriptPaths":183,"versionParams":184},[181],"\u002Fwp-content\u002Fplugins\u002Fsmarter-archives\u002Fcss\u002Fstyle.css",[],[],[185],"smarter-archives\u002Fcss\u002Fstyle.css?ver=",{"cssClasses":187,"htmlComments":192,"htmlAttributes":193,"restEndpoints":194,"jsGlobals":195,"shortcodeOutput":196},[188,189,190,191],"smart-archives","year-link","month-link","empty-month",[],[],[],[],[197,198],"[smarter_archives]","[smarter_archives mode=\"return\"]"]