[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fEm7WYddJTb3viCaZmV7dK_Z179KUsHS4HQ2q793omD0":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":16,"tags":18,"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":38,"analysis":133,"fingerprints":295},"in-over-your-archives","In Over Your Archives","1.4.3","Mohammad Jangda","https:\u002F\u002Fprofiles.wordpress.org\u002Fbatmoo\u002F","\u003Cp>This plugin will display your archive page in a nice way, just like on inoveryourhead.net\u003C\u002Fp>\n\u003Ch4>Shortcode filtering\u003C\u002Fh4>\n\u003Cp>If you are using the In Over Your Archives shortcode [ioya] to embed the plugin on a page and would like to do category filtering on\u003Cbr \u002F>\nyour archive results, you may do so by providing the category slug(s) or ID(s), (or a mix) like so:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ioya cat='trees']\n[ioya cat='03,45']\n[ioya cat='trees,45,trucks']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Customizing the template\u003C\u002Fh4>\n\u003Cp>You can customize the look and feel of the archives pages.\u003C\u002Fp>\n\u003Cp>Add a file called \u003Ccode>ioya_month.php\u003C\u002Fcode> to your theme directory and add a basic loop in it as follows:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php while (have_posts()) : the_post(); ?>\n\n    \u003Cdiv class=\"post\">    \n        \u003Cdiv class=\"date\">\n            \u003Cdiv class=\"date-day\">\u003C?php the_time('j') ?>\u003C\u002Fdiv>\n            \u003Cdiv class=\"date-month\">\u003C?php the_time('M') ?>\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n        \u003Ch2>\u003Ca href=\"\u003C?php the_permalink() ?>\" rel=\"bookmark\" title=\"Permanent Link to \u003C?php the_title_attribute(); ?>\">\u003C?php the_title(); ?>\u003C\u002Fa>\u003C\u002Fh2>\n        \u003Csmall>Posted by \u003C?php the_author_link() ?> at \u003C?php the_time('g:i A') ?>\u003C\u002Fsmall>\n        \u003Cdiv class=\"entry\">\n            \u003C?php the_excerpt(); ?>\n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C?php endwhile; ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then modify as necessary.\u003C\u002Fp>\n","This plugin will display your archive page in a nice way, just like on inoveryourhead.net",10,7598,80,1,"2011-05-17T18:12:00.000Z","","2.9.2",[19,20,21,22,23],"archive","archives","inoveryourhead","julien-smith","posts","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fin-over-your-archives\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fin-over-your-archives.1.4.3.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},"batmoo",5,1340,30,84,"2026-04-04T09:53:59.417Z",[39,56,78,99,116],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":27,"num_ratings":27,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":16,"tags":52,"homepage":54,"download_link":55,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"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,53],"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":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":66,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":71,"tags":72,"homepage":76,"download_link":77,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"expanding-archives","Expanding Archives","2.1.0","Ashley","https:\u002F\u002Fprofiles.wordpress.org\u002Fnosegraze\u002F","\u003Cp>Expanding Archives adds a widget that shows your old posts in an expandable\u002Fcollapsible format. Each post is categorized under its year and month, so you can expand all the posts in a given month and year.\u003C\u002Fp>\n\u003Cp>This plugin comes with very minimal CSS styling so you can easily customize it to match your design.\u003C\u002Fp>\n\u003Cp>JavaScript is required. No IE support.\u003C\u002Fp>\n","This plugin adds a new widget where you can view your old posts by expanding certain years and months.",2000,22798,94,6,"2024-03-23T14:55:00.000Z","6.4.8","3.0","7.4",[20,73,23,74,75],"navigation","sidebar","widget","https:\u002F\u002Fshop.nosegraze.com\u002Fproduct\u002Fexpanding-archives\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpanding-archives.zip",{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":86,"downloaded":87,"rating":88,"num_ratings":89,"last_updated":90,"tested_up_to":91,"requires_at_least":92,"requires_php":16,"tags":93,"homepage":97,"download_link":98,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"custom-posts-per-page","Custom Posts Per Page","1.7.1","Jeremy Felt","https:\u002F\u002Fprofiles.wordpress.org\u002Fjeremyfelt\u002F","\u003Cp>Custom Posts Per Page allows you to specify how many posts are displayed per page depending on your current view. Once settings are changed, the \u003Cem>Blog pages show at most\u003C\u002Fem> setting in the \u003Cem>Reading\u003C\u002Fem> menu will be ignored.\u003C\u002Fp>\n\u003Cp>Settings are available for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Home (Index) Page\n\u003Cul>\n\u003Cli>As long as view is set to blog posts, not static page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Category Pages\u003C\u002Fli>\n\u003Cli>Tag Pages\u003C\u002Fli>\n\u003Cli>Author Pages\u003C\u002Fli>\n\u003Cli>Archive Pages\u003C\u002Fli>\n\u003Cli>Search Pages\u003C\u002Fli>\n\u003Cli>Default Page (\u003Cem>Any page not covered above.\u003C\u002Fem>)\u003C\u002Fli>\n\u003Cli>Custom Post Type archive pages\n\u003Cul>\n\u003Cli>All Custom Post Types are detected automatically.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Each of the above settings can have a different value for the first page displayed \u003Cstrong>and\u003C\u002Fstrong> subsequent paged views.\u003C\u002Fp>\n\u003Cp>Custom Posts Per Page makes it easy to manage exactly how your content is displayed to your readers, especially when different views have different layouts, rather than relying on the single setting in the Reading menu or having to hard code options in your custom theme.\u003C\u002Fp>\n","Custom Posts Per Page provides a settings page in your WordPress admin that allows you to specify how many posts are displayed for different views.",900,37378,96,12,"2014-12-11T19:54:00.000Z","4.1.42","4.0",[94,95,20,53,96],"admin","administration","settings","https:\u002F\u002Fjeremyfelt.com\u002Fwordpress\u002Fplugins\u002Fcustom-posts-per-page\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-posts-per-page.zip",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":27,"num_ratings":27,"last_updated":109,"tested_up_to":110,"requires_at_least":111,"requires_php":71,"tags":112,"homepage":113,"download_link":114,"security_score":115,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"custom-posts-per-page-reloaded","Custom Posts Per Page Reloaded","2.0.0","WPZOOM","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpzoom\u002F","\u003Cp>Custom Posts Per Page Reloaded allows you to specify how many posts are displayed per page depending on your current view. Once settings are changed, the \u003Cem>Blog pages show at most\u003C\u002Fem> setting in the \u003Cem>Reading\u003C\u002Fem> menu will be ignored.\u003C\u002Fp>\n\u003Cp>Settings are available for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Home (Index) Page\n\u003Cul>\n\u003Cli>As long as view is set to blog posts, not static page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Category Pages\u003C\u002Fli>\n\u003Cli>Tag Pages\u003C\u002Fli>\n\u003Cli>Author Pages\u003C\u002Fli>\n\u003Cli>Archive Pages\u003C\u002Fli>\n\u003Cli>Search Pages\u003C\u002Fli>\n\u003Cli>Default Page (\u003Cem>Any page not covered above.\u003C\u002Fem>)\u003C\u002Fli>\n\u003Cli>Custom Post Type archive pages\n\u003Cul>\n\u003Cli>All Custom Post Types are detected automatically.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Each of the above settings can have a different value for the first page displayed \u003Cstrong>and\u003C\u002Fstrong> subsequent paged views.\u003C\u002Fp>\n\u003Cp>Custom Posts Per Page makes it easy to manage exactly how your content is displayed to your readers, especially when different views have different layouts, rather than relying on the single setting in the Reading menu or having to hard code options in your custom theme.\u003C\u002Fp>\n\u003Cp>This is a fork (an updated clone) of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-posts-per-page\u002F\" rel=\"ugc\">Custom Posts Per Page\u003C\u002Fa> by \u003Ca href=\"https:\u002F\u002Fjeremyfelt.com\u002F\" rel=\"nofollow ugc\">Jeremy Felt\u003C\u002Fa>.\u003C\u002Fp>\n","Custom Posts Per Page Reloaded provides a settings page in your WordPress admin that allows you to specify how many posts are displayed for different  &hellip;",700,10286,"2024-07-17T13:42:00.000Z","6.6.5","4.3",[94,95,20,53,96],"https:\u002F\u002Fwpzoom.com\u002Fplugins\u002Fcustom-posts-per-page-reloaded\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-posts-per-page-reloaded.zip",92,{"slug":117,"name":118,"version":119,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":124,"downloaded":125,"rating":126,"num_ratings":14,"last_updated":127,"tested_up_to":128,"requires_at_least":129,"requires_php":16,"tags":130,"homepage":131,"download_link":132,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"clean-archives-reloaded","Clean Archives Reloaded","3.2.0","Automattic","https:\u002F\u002Fprofiles.wordpress.org\u002Fautomattic\u002F","\u003Cp>Clean Archives Reloaded generates a list of all of your posts, sorted by month. It’s enhanced with Javascript to allow collapsing and expanding of months.\u003C\u002Fp>\n\u003Cp>It’s highly efficient and won’t kill your server with tons of MySQL queries.\u003C\u002Fp>\n\u003Ch4>Demo\u003C\u002Fh4>\n\u003Cp>Check out one of my sites’ \u003Ca href=\"http:\u002F\u002Fwww.finalgear.com\u002Fpost-archives\u002F\" rel=\"nofollow ugc\">archive page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Shortcode Tag Parameters\u003C\u002Fh3>\n\u003Cp>You can customize the list options on a per-call basis if you wish.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>usejs\u003C\u002Fcode> — (\u003Ccode>1\u003C\u002Fcode> or \u003Ccode>0\u003C\u002Fcode>) use Javascript or not to collapse the months\u003C\u002Fli>\n\u003Cli>\u003Ccode>monthorder\u003C\u002Fcode> — (\u003Ccode>new\u003C\u002Fcode> or \u003Ccode>old\u003C\u002Fcode>) show newest months or oldest months first\u003C\u002Fli>\n\u003Cli>\u003Ccode>postorder\u003C\u002Fcode> — (\u003Ccode>new\u003C\u002Fcode> or \u003Ccode>old\u003C\u002Fcode>) show newest posts or oldest posts first within months\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Examples\u003C\u002Fh4>\n\u003Cp>No Javascript:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[cleanarchivesreloaded usejs=\"0\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Oldest months first, oldest posts first:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[cleanarchivesreloaded monthorder=\"old\" postorder=\"old\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n","A slick, Javascript enhanced post archive list generator.",600,104414,100,"2012-02-07T18:57:00.000Z","3.3.2","2.5",[19,20,23],"http:\u002F\u002Fwww.viper007bond.com\u002Fwordpress-plugins\u002Fclean-archives-reloaded\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fclean-archives-reloaded.zip",{"attackSurface":134,"codeSignals":190,"taintFlows":244,"riskAssessment":278,"analyzedAt":294},{"hooks":135,"ajaxHandlers":182,"restRoutes":183,"shortcodes":184,"cronEvents":189,"entryPointCount":14,"unprotectedCount":27},[136,142,146,150,154,158,162,166,169,174,178],{"type":137,"name":138,"callback":139,"file":140,"line":141},"action","init","ioya_init","in_over_your_archives.php",62,{"type":137,"name":143,"callback":144,"file":140,"line":145},"admin_init","ioya_admin_init",65,{"type":137,"name":147,"callback":148,"file":140,"line":149},"admin_menu","ioya_admin_menu",66,{"type":137,"name":151,"callback":152,"file":140,"line":153},"generate_rewrite_rules","ioya_rewrite_rules",67,{"type":137,"name":155,"callback":156,"file":140,"line":157},"wp_print_scripts","ioya_register_scripts",70,{"type":137,"name":159,"callback":160,"file":140,"line":161},"wp_print_styles","ioya_register_styles",71,{"type":137,"name":163,"callback":164,"file":140,"line":165},"admin_print_scripts","ioya_admin_scripts",72,{"type":137,"name":138,"callback":167,"file":140,"line":168},"ioya_ajax",73,{"type":170,"name":171,"callback":172,"file":140,"line":173},"filter","archive_template","ioya_replacement",76,{"type":137,"name":175,"callback":176,"file":140,"line":177},"pre_get_posts","ioya_get_posts",79,{"type":137,"name":179,"callback":180,"file":140,"line":181},"wp","ioya_archive_ajax",555,[],[],[185],{"tag":186,"callback":187,"file":140,"line":188},"ioya","ioya_shortcode",82,[],{"dangerousFunctions":191,"sqlUsage":192,"outputEscaping":195,"fileOperations":193,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":240},[],{"prepared":193,"raw":27,"locations":194},2,[],{"escaped":196,"rawEcho":197,"locations":198},16,23,[199,202,203,205,206,208,210,211,213,214,216,218,220,221,223,225,226,228,230,232,234,236,238],{"file":140,"line":200,"context":201},241,"raw output",{"file":140,"line":200,"context":201},{"file":140,"line":204,"context":201},244,{"file":140,"line":204,"context":201},{"file":140,"line":207,"context":201},247,{"file":140,"line":209,"context":201},262,{"file":140,"line":209,"context":201},{"file":140,"line":212,"context":201},265,{"file":140,"line":212,"context":201},{"file":140,"line":215,"context":201},268,{"file":140,"line":217,"context":201},281,{"file":140,"line":219,"context":201},392,{"file":140,"line":219,"context":201},{"file":140,"line":222,"context":201},393,{"file":140,"line":224,"context":201},396,{"file":140,"line":224,"context":201},{"file":140,"line":227,"context":201},397,{"file":140,"line":229,"context":201},399,{"file":140,"line":231,"context":201},406,{"file":140,"line":233,"context":201},408,{"file":140,"line":235,"context":201},415,{"file":140,"line":237,"context":201},539,{"file":140,"line":239,"context":201},712,[241],{"name":242,"version":28,"knownCves":243},"Select2",[],[245,268],{"entryPoint":246,"graph":247,"unsanitizedCount":14,"severity":267},"ioya_archive_ajax (in_over_your_archives.php:558)",{"nodes":248,"edges":263},[249,254,258],{"id":250,"type":251,"label":252,"file":140,"line":253},"n0","source","$_POST",568,{"id":255,"type":256,"label":257,"file":140,"line":253},"n1","transform","→ ioya_update_year()",{"id":259,"type":260,"label":261,"file":140,"line":235,"wp_function":262},"n2","sink","echo() [XSS]","echo",[264,266],{"from":250,"to":255,"sanitized":265},false,{"from":255,"to":259,"sanitized":265},"medium",{"entryPoint":269,"graph":270,"unsanitizedCount":14,"severity":267},"\u003Cin_over_your_archives> (in_over_your_archives.php:0)",{"nodes":271,"edges":275},[272,273,274],{"id":250,"type":251,"label":252,"file":140,"line":253},{"id":255,"type":256,"label":257,"file":140,"line":253},{"id":259,"type":260,"label":261,"file":140,"line":235,"wp_function":262},[276,277],{"from":250,"to":255,"sanitized":265},{"from":255,"to":259,"sanitized":265},{"summary":279,"deductions":280},"The \"in-over-your-archives\" plugin v1.4.3 exhibits a mixed security posture. On the positive side, it shows good practices by utilizing prepared statements for all SQL queries and avoids external HTTP requests, significantly reducing common attack vectors. The absence of known CVEs and a clean vulnerability history also suggests a relatively stable codebase. However, several areas raise concerns. The low percentage of properly escaped output (41%) is a significant weakness, indicating a high risk of Cross-Site Scripting (XSS) vulnerabilities, especially given the lack of explicit output escaping checks. Furthermore, the plugin lacks any nonce or capability checks on its entry points, including the shortcode and file operations. While the attack surface is small, these unchecked entry points could be exploited if an attacker can trigger the shortcode or manipulate the file operations. The presence of unsanitized paths in the taint analysis, even without critical or high severity, warrants attention as it could lead to path traversal vulnerabilities. The bundled Select2 library also poses a potential risk if it is outdated and contains known vulnerabilities, though no specific information on its version or vulnerabilities is provided.",[281,284,287,289,291],{"reason":282,"points":283},"Low percentage of properly escaped output",8,{"reason":285,"points":286},"No nonce checks on entry points",7,{"reason":288,"points":286},"No capability checks on entry points",{"reason":290,"points":33},"Unsanitized paths in taint flows",{"reason":292,"points":293},"Bundled library (Select2) potential risk",3,"2026-03-17T01:05:45.891Z",{"wat":296,"direct":310},{"assetPaths":297,"generatorPatterns":303,"scriptPaths":304,"versionParams":305},[298,299,300,301,302],"\u002Fwp-content\u002Fplugins\u002Fin-over-your-archives\u002Fjs\u002Fin_over_your_jquery.js","\u002Fwp-content\u002Fplugins\u002Fin-over-your-archives\u002Fcss\u002Fin_over_your_css.css","\u002Fwp-content\u002Fplugins\u002Fin-over-your-archives\u002Fjs\u002Fcolorpicker.js","\u002Fwp-content\u002Fplugins\u002Fin-over-your-archives\u002Fjs\u002Fioya-options.js","\u002Fwp-content\u002Fplugins\u002Fin-over-your-archives\u002Fcss\u002Fcolorpicker.css",[],[298,300,301],[306,307,308,309],"in-over-your-archives\u002Fjs\u002Fin_over_your_jquery.js?ver=","in-over-your-archives\u002Fcss\u002Fin_over_your_css.css?ver=","in-over-your-archives\u002Fjs\u002Fcolorpicker.js?ver=","in-over-your-archives\u002Fjs\u002Fioya-options.js?ver=",{"cssClasses":311,"htmlComments":313,"htmlAttributes":321,"restEndpoints":322,"jsGlobals":323,"shortcodeOutput":325},[312],"ioya_color_preview",[314,315,316,317,318,319,320],"\u003C!-- NOTE: To add new settings: -->","\u003C!--  - add it to the array below as a slug, e.g. enable_shortcode (when saved to the database, it will automatically, be prefixed with ioya_) -->","\u003C!--  - then add an entry for it in ioya_options function. You can use ioya_options_text_field() to easily create text fields -->","\u003C!--  - you can fetch option values using ioya_get_option( $slug ) where $slug is the name you entered in the array below -->","\u003C!-- Custom Templates -->","\u003C!-- To customize the look and feel of In Over Your Archives, so the following: -->","\u003C!-- TODO: info about shortcode, custom month template, etc. goes here -->",[],[],[324],"in_over_your_settings",[326],"[ioya]"]