[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fLa4zLtyfgco7byazVhU3O39KBE-rBfpQaR4JkjmexjA":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":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":38,"analysis":135,"fingerprints":521},"archive-post-tabs","Archive Post Tabs","1.0","ikhodal","https:\u002F\u002Fprofiles.wordpress.org\u002Fikhodal\u002F","\u003Cp>Archive Post Tabs plugin is used to show list and grid view of the archive posts with months and years tabs. This plugin allows to created unlimited widget and shortcodes for the home and sup-pages.\u003C\u002Fp>\n\u003Cp>It’s fully responsive and customizable archive posts list and grid view using ajax load more functionality.\u003C\u002Fp>\n\u003Ch4>Buy the Premium Version\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.ikhodal.com\u002Farchive-post-tabs\u002F\" rel=\"nofollow ugc\">BUY IT NOW!\u003C\u002Fa> \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Premium Version Demo\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwpplugins.ikhodal.com\u002Fwp-archive-post-tabs\u002F\" rel=\"nofollow ugc\">Click Here for a Demo\u003C\u002Fa> \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Free Version Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Customizable and responsive list and grid view.\u003C\u002Fli>\n\u003Cli>Load more option for next archive posts pagination.\u003C\u002Fli>\n\u003Cli>Multiple widget creation. \u003C\u002Fli>\n\u003Cli>Custom settings to modify text and background color for the heading. \u003C\u002Fli>\n\u003Cli>3 responsive modern templates.\u003C\u002Fli>\n\u003Cli>Supports posts grid view. \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Premium Version Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Custom settings available to hide or show post title, cart button, price, animation over image, post image, pagination, post short content and read more link.\u003C\u002Fli>\n\u003Cli>Dynamic admin settings to change maximum width and height of the posts images.\u003C\u002Fli>\n\u003Cli>There are three type of ajax based pagination available like load more products, next-previous links and simple numeric pagination. \u003C\u002Fli>\n\u003Cli>Settings to choose any custom post type. \u003C\u002Fli>\n\u003Cli>Search text field for the each tab.  \u003C\u002Fli>\n\u003Cli>Multiple shortcodes creation forms. \u003C\u002Fli>\n\u003Cli>Supports posts list\u002Fgrid views.\u003C\u002Fli>\n\u003Cli>Admin settings for displaying post count with tabs.\u003C\u002Fli>\n\u003Cli>Hide\u002Fshow empty categories.\u003C\u002Fli>\n\u003Cli>Month or year shorting and ordering.\u003C\u002Fli>\n\u003Cli>Hide\u002FShow certain category’s posts.\u003C\u002Fli>\n\u003Cli>Open default month or year tab.\u003C\u002Fli>\n\u003Cli>10+ responsive templates.\u003C\u002Fli>\n\u003Cli>40+ beautiful posts mousehover animation effects. \u003C\u002Fli>\n\u003Cli>Supports “All” label tab to load all tab’s posts.\u003C\u002Fli>\n\u003Cli>RTL Support.\u003C\u002Fli>\n\u003Cli>Allows to modify space between items in pixels. \u003C\u002Fli>\n\u003Cli>Allows to hide\u002Fshow author image and name. \u003C\u002Fli>\n\u003Cli>View posted date with post title.\u003C\u002Fli>\n\u003Cli>View comment count with post title.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Other Recommended Amazing WordPress Tab Plugins\u003C\u002Fh4>\n\u003Cp>You might like following recommended paid and free tabs plugins that supports wordress and woocommerce tab widget and shortcode creation using an amazing ajax load more functionality for the sidebar and content area.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcategory-and-post-tab\u002F\" rel=\"ugc\">Category and Post WordPress Tab\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcategory-and-product-woocommerce-tabs\u002F\" rel=\"ugc\">Category and Product Woocommerce Tabs\u003C\u002Fa> \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Without tabs, direct ajax load more posts\u002Fproducts plugins\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fajax-load-more-post\u002F\" rel=\"ugc\">Ajax Load More Post\u003C\u002Fa> \u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwc-load-more-product\u002F\" rel=\"ugc\">Woocommerce Load More Product\u003C\u002Fa> \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Want to create new language translation for your site?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.ikhodal.com\u002Fsupport\" rel=\"nofollow ugc\">Create a support ticket for the multi languages or any other help\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Archive Post Tabs plugin is used to show list and grid view of the archive posts with months and years tabs. This plugin allows to created unlimited w &hellip;",10,1888,20,1,"2018-01-20T19:04:00.000Z","4.9.29","4.6","",[20,21,22,23,24],"archive","archive-post-widget","archive-widget","archives","post","http:\u002F\u002Fwww.ikhodal.com\u002Farchive-post-tabs\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Farchive-post-tabs.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":27,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},6,200,30,84,"2026-04-04T19:53:58.470Z",[39,55,77,96,114],{"slug":40,"name":41,"version":6,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":28,"num_ratings":28,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":18,"tags":51,"homepage":53,"download_link":54,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"advanced-posts-per-page","Advanced Posts\u002FPage","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",[20,23,52],"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":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":65,"num_ratings":33,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":75,"download_link":76,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"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,"2024-03-23T14:55:00.000Z","6.4.8","3.0","7.4",[23,71,72,73,74],"navigation","posts","sidebar","widget","https:\u002F\u002Fshop.nosegraze.com\u002Fproduct\u002Fexpanding-archives\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpanding-archives.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":87,"num_ratings":33,"last_updated":88,"tested_up_to":89,"requires_at_least":17,"requires_php":18,"tags":90,"homepage":18,"download_link":95,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"post-type-archive-descriptions","Post Type Archive Descriptions","1.5.0","mrwweb","https:\u002F\u002Fprofiles.wordpress.org\u002Fmrwweb\u002F","\u003Cp>Enables an editable description to display on post type archive pages. Show the description with WordPress’s \u003Ccode>the_archive_description()\u003C\u002Fcode> function that also displays taxonomy term descriptions. Will work automatically with many themes, including most default WordPress themes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Translations:\u003C\u002Fstrong> Archive descriptions are translatable via \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolylang\u002F\" rel=\"ugc\">Polylang\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwpml.org\u002F?aid=255503&affiliate_key=8ZIRtAbJbX4x&dr=post-type-archive-descriptions-plugin\" rel=\"nofollow ugc\">WPML (affiliate link)\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqtranslate-x\u002F\" rel=\"ugc\">qTranslate-X\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The Events Calendar:\u003C\u002Fstrong> The archive description is automatically added above the Events Bar when using the latest templates from \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fthe-events-calendar\u002F\" rel=\"ugc\">The Events Calendar\u003C\u002Fa>. Filter the location of the description or disable it entirely with the \u003Ccode>ptad_tribe_template_before_include\u003C\u002Fcode> filter.\u003C\u002Fp>\n\u003Ch4>Other Plugins by MRWweb\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmrw-web-design-simple-tinymce\u002F\" rel=\"ugc\">MRW Simplified Editor\u003C\u002Fa> – Get rid of bad and obscure TinyMCE buttons. Move the rest to a single top row.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpost-status-menu-items\u002F\" rel=\"ugc\">Post Status Menu Items\u003C\u002Fa> – Adds post status links–e.g. “Draft” (7)–to post type admin menus.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fhawaiian-characters\u002F\" rel=\"ugc\">Hawaiian Characters\u003C\u002Fa> – Adds the correct characters with diacriticals to the WordPress editor Character Map for Hawaiian\u003C\u002Fli>\n\u003C\u002Ful>\n","Enables an editable description to display on post type archive pages. Show the description with WordPress's the_archive_description() function t &hellip;",1000,68267,100,"2023-10-20T17:14:00.000Z","6.3.8",[23,91,92,93,94],"custom-post-type","custom-post-type-archive","custom-post-types","post-type-archive","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-type-archive-descriptions.1.5.0.zip",{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":85,"downloaded":104,"rating":105,"num_ratings":106,"last_updated":107,"tested_up_to":108,"requires_at_least":109,"requires_php":18,"tags":110,"homepage":112,"download_link":113,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"smart-archives-reloaded","Smart Archives Reloaded","2.0.5","scribu","https:\u002F\u002Fprofiles.wordpress.org\u002Fscribu\u002F","\u003Cp>Smart Archives Reloaded allows you to display a list of posts grouped by year and month. It also provides several interesting navigation elements.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Format list:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>list\u003C\u002Fstrong> = a list of posts grouped by month\u003C\u002Fli>\n\u003Cli>\u003Cstrong>block\u003C\u002Fstrong> = a compact block of links to year and date archive pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>menu\u003C\u002Fstrong> = a two-level menu with links to year and date archive pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>both\u003C\u002Fstrong> = block + list (\u003Ca href=\"http:\u002F\u002Fscribu.net\u002Farchive\" rel=\"nofollow ugc\">example\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>fancy\u003C\u002Fstrong> = menu + list + JavaScript (\u003Ca href=\"http:\u002F\u002Fwww.conceptfusion.co.nz\u002Farchive\" rel=\"nofollow ugc\">example\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>No support\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>I do not offer support for this plugin, either free or paid.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Credits:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fjustinblanton.com\" rel=\"nofollow ugc\">Justin Blanton\u003C\u002Fa>, for the original \u003Ca href=\"http:\u002F\u002Fjustinblanton.com\u002Fprojects\u002Fsmartarchives\u002F\" rel=\"nofollow ugc\">Smart Archives\u003C\u002Fa> plugin\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.conceptfusion.co.nz\u002F\" rel=\"nofollow ugc\">Simon Pritchard\u003C\u002Fa>, for the fancy format\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Links: \u003Ca href=\"http:\u002F\u002Fscribu.net\u002Fwordpress\u002Fsmart-archives-reloaded\" rel=\"nofollow ugc\">Plugin News\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Fscribu.net\" rel=\"nofollow ugc\">Author’s Site\u003C\u002Fa>\u003C\u002Fp>\n","Easily display posts grouped by year and month, in one or more elegant formats",99428,86,15,"2017-11-28T18:48:00.000Z","3.4.2","3.2",[20,23,111],"post-list","http:\u002F\u002Fscribu.net\u002Fwordpress\u002Fsmart-archives-reloaded","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmart-archives-reloaded.2.0.5.zip",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":124,"num_ratings":125,"last_updated":126,"tested_up_to":127,"requires_at_least":128,"requires_php":18,"tags":129,"homepage":133,"download_link":134,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"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",[130,131,23,52,132],"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",{"attackSurface":136,"codeSignals":194,"taintFlows":466,"riskAssessment":511,"analyzedAt":520},{"hooks":137,"ajaxHandlers":167,"restRoutes":185,"shortcodes":186,"cronEvents":191,"entryPointCount":192,"unprotectedCount":193},[138,144,148,152,156,161,164],{"type":139,"name":140,"callback":141,"file":142,"line":143},"action","plugins_loaded","archivesposttab_text_domain","include\\abstract.php",57,{"type":139,"name":145,"callback":146,"file":142,"line":147},"widgets_init","initArchivesPostTab",64,{"type":139,"name":149,"callback":150,"file":142,"line":151},"init","archivesposttab_scripts",69,{"type":139,"name":153,"callback":154,"file":142,"line":155},"admin_enqueue_scripts","avptab_admin_enqueue",71,{"type":139,"name":157,"callback":158,"file":159,"line":160},"admin_init","archivesposttab_manage_license","include\\admin.php",99,{"type":139,"name":162,"callback":163,"file":159,"line":87},"admin_menu","avptab_add_plugin_admin_menu",{"type":139,"name":149,"callback":149,"file":165,"line":166},"include\\archivesposttab.php",21,[168,172,176,179,181,183],{"action":169,"nopriv":170,"callback":169,"hasNonce":170,"hasCapCheck":170,"file":165,"line":171},"getTotalPosts",false,36,{"action":173,"nopriv":170,"callback":173,"hasNonce":174,"hasCapCheck":170,"file":165,"line":175},"getPosts",true,37,{"action":177,"nopriv":170,"callback":177,"hasNonce":174,"hasCapCheck":170,"file":165,"line":178},"getMorePosts",38,{"action":169,"nopriv":174,"callback":169,"hasNonce":170,"hasCapCheck":170,"file":165,"line":180},40,{"action":173,"nopriv":174,"callback":173,"hasNonce":174,"hasCapCheck":170,"file":165,"line":182},41,{"action":177,"nopriv":174,"callback":177,"hasNonce":174,"hasCapCheck":170,"file":165,"line":184},42,[],[187],{"tag":188,"callback":189,"file":165,"line":190},"archivesposttab","archivesPostTab",44,[],7,2,{"dangerousFunctions":195,"sqlUsage":196,"outputEscaping":208,"fileOperations":28,"externalRequests":193,"nonceChecks":33,"capabilityChecks":28,"bundledLibraries":465},[],{"prepared":14,"raw":197,"locations":198},4,[199,202,204,206],{"file":142,"line":200,"context":201},176,"$wpdb->get_results() with variable interpolation",{"file":142,"line":203,"context":201},246,{"file":142,"line":205,"context":201},342,{"file":142,"line":207,"context":201},417,{"escaped":209,"rawEcho":210,"locations":211},244,187,[212,215,217,218,220,221,223,225,226,228,229,230,231,232,234,235,236,237,239,240,241,242,244,245,246,248,249,251,252,253,255,256,258,259,260,262,263,265,266,267,268,269,271,272,273,274,275,276,277,278,280,281,283,284,285,287,288,290,291,293,294,296,297,299,300,302,303,305,306,308,309,311,312,314,315,317,318,320,321,323,324,326,327,329,330,332,333,335,336,338,340,342,344,345,346,349,350,352,354,355,357,359,361,363,364,366,368,371,372,374,375,376,377,379,380,382,383,385,386,387,389,391,392,393,394,395,396,398,400,402,404,406,408,409,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464],{"file":142,"line":213,"context":214},179,"raw output",{"file":142,"line":216,"context":214},181,{"file":142,"line":216,"context":214},{"file":159,"line":219,"context":214},238,{"file":159,"line":209,"context":214},{"file":159,"line":222,"context":214},254,{"file":224,"line":197,"context":214},"templates\\admin_widget_settings.php",{"file":224,"line":197,"context":214},{"file":224,"line":227,"context":214},8,{"file":224,"line":227,"context":214},{"file":224,"line":227,"context":214},{"file":224,"line":106,"context":214},{"file":224,"line":106,"context":214},{"file":224,"line":233,"context":214},26,{"file":224,"line":233,"context":214},{"file":224,"line":35,"context":214},{"file":224,"line":35,"context":214},{"file":224,"line":238,"context":214},32,{"file":224,"line":238,"context":214},{"file":224,"line":184,"context":214},{"file":224,"line":184,"context":214},{"file":224,"line":243,"context":214},46,{"file":224,"line":243,"context":214},{"file":224,"line":243,"context":214},{"file":224,"line":247,"context":214},52,{"file":224,"line":247,"context":214},{"file":224,"line":250,"context":214},56,{"file":224,"line":250,"context":214},{"file":224,"line":250,"context":214},{"file":224,"line":254,"context":214},63,{"file":224,"line":254,"context":214},{"file":224,"line":257,"context":214},67,{"file":224,"line":257,"context":214},{"file":224,"line":257,"context":214},{"file":224,"line":261,"context":214},74,{"file":224,"line":261,"context":214},{"file":224,"line":264,"context":214},78,{"file":224,"line":264,"context":214},{"file":224,"line":264,"context":214},{"file":224,"line":27,"context":214},{"file":224,"line":27,"context":214},{"file":224,"line":270,"context":214},89,{"file":224,"line":270,"context":214},{"file":224,"line":270,"context":214},{"file":224,"line":124,"context":214},{"file":224,"line":124,"context":214},{"file":224,"line":87,"context":214},{"file":224,"line":87,"context":214},{"file":224,"line":87,"context":214},{"file":224,"line":279,"context":214},107,{"file":224,"line":279,"context":214},{"file":224,"line":282,"context":214},111,{"file":224,"line":282,"context":214},{"file":224,"line":282,"context":214},{"file":224,"line":286,"context":214},118,{"file":224,"line":286,"context":214},{"file":224,"line":289,"context":214},122,{"file":224,"line":289,"context":214},{"file":224,"line":292,"context":214},123,{"file":224,"line":292,"context":214},{"file":224,"line":295,"context":214},125,{"file":224,"line":295,"context":214},{"file":224,"line":298,"context":214},126,{"file":224,"line":298,"context":214},{"file":224,"line":301,"context":214},133,{"file":224,"line":301,"context":214},{"file":224,"line":304,"context":214},137,{"file":224,"line":304,"context":214},{"file":224,"line":307,"context":214},138,{"file":224,"line":307,"context":214},{"file":224,"line":310,"context":214},140,{"file":224,"line":310,"context":214},{"file":224,"line":313,"context":214},141,{"file":224,"line":313,"context":214},{"file":224,"line":316,"context":214},148,{"file":224,"line":316,"context":214},{"file":224,"line":319,"context":214},152,{"file":224,"line":319,"context":214},{"file":224,"line":322,"context":214},153,{"file":224,"line":322,"context":214},{"file":224,"line":325,"context":214},155,{"file":224,"line":325,"context":214},{"file":224,"line":328,"context":214},156,{"file":224,"line":328,"context":214},{"file":224,"line":331,"context":214},162,{"file":224,"line":331,"context":214},{"file":224,"line":334,"context":214},166,{"file":224,"line":334,"context":214},{"file":224,"line":337,"context":214},167,{"file":224,"line":339,"context":214},168,{"file":224,"line":341,"context":214},169,{"file":224,"line":343,"context":214},175,{"file":224,"line":343,"context":214},{"file":224,"line":343,"context":214},{"file":347,"line":348,"context":214},"templates\\ajax_load_more_posts.php",24,{"file":347,"line":238,"context":214},{"file":347,"line":351,"context":214},48,{"file":347,"line":353,"context":214},49,{"file":347,"line":250,"context":214},{"file":347,"line":356,"context":214},70,{"file":358,"line":348,"context":214},"templates\\ajax_load_posts.php",{"file":358,"line":360,"context":214},34,{"file":358,"line":362,"context":214},51,{"file":358,"line":247,"context":214},{"file":358,"line":365,"context":214},59,{"file":358,"line":367,"context":214},73,{"file":369,"line":370,"context":214},"templates\\template_pane_style_1.php",3,{"file":369,"line":197,"context":214},{"file":369,"line":373,"context":214},5,{"file":369,"line":33,"context":214},{"file":369,"line":192,"context":214},{"file":369,"line":227,"context":214},{"file":369,"line":378,"context":214},9,{"file":369,"line":11,"context":214},{"file":369,"line":381,"context":214},11,{"file":369,"line":125,"context":214},{"file":369,"line":384,"context":214},19,{"file":369,"line":166,"context":214},{"file":369,"line":166,"context":214},{"file":369,"line":388,"context":214},22,{"file":369,"line":390,"context":214},53,{"file":369,"line":390,"context":214},{"file":369,"line":390,"context":214},{"file":369,"line":390,"context":214},{"file":369,"line":390,"context":214},{"file":369,"line":390,"context":214},{"file":369,"line":397,"context":214},55,{"file":369,"line":399,"context":214},92,{"file":369,"line":401,"context":214},102,{"file":369,"line":403,"context":214},119,{"file":369,"line":405,"context":214},120,{"file":369,"line":407,"context":214},127,{"file":369,"line":313,"context":214},{"file":410,"line":370,"context":214},"templates\\template_pane_style_2.php",{"file":410,"line":197,"context":214},{"file":410,"line":373,"context":214},{"file":410,"line":33,"context":214},{"file":410,"line":192,"context":214},{"file":410,"line":227,"context":214},{"file":410,"line":378,"context":214},{"file":410,"line":11,"context":214},{"file":410,"line":381,"context":214},{"file":410,"line":125,"context":214},{"file":410,"line":384,"context":214},{"file":410,"line":166,"context":214},{"file":410,"line":166,"context":214},{"file":410,"line":388,"context":214},{"file":410,"line":390,"context":214},{"file":410,"line":390,"context":214},{"file":410,"line":390,"context":214},{"file":410,"line":390,"context":214},{"file":410,"line":390,"context":214},{"file":410,"line":390,"context":214},{"file":410,"line":397,"context":214},{"file":410,"line":399,"context":214},{"file":410,"line":401,"context":214},{"file":410,"line":403,"context":214},{"file":410,"line":405,"context":214},{"file":410,"line":407,"context":214},{"file":410,"line":313,"context":214},{"file":438,"line":370,"context":214},"templates\\template_pane_style_3.php",{"file":438,"line":197,"context":214},{"file":438,"line":373,"context":214},{"file":438,"line":33,"context":214},{"file":438,"line":192,"context":214},{"file":438,"line":227,"context":214},{"file":438,"line":378,"context":214},{"file":438,"line":11,"context":214},{"file":438,"line":381,"context":214},{"file":438,"line":125,"context":214},{"file":438,"line":384,"context":214},{"file":438,"line":166,"context":214},{"file":438,"line":166,"context":214},{"file":438,"line":388,"context":214},{"file":438,"line":390,"context":214},{"file":438,"line":390,"context":214},{"file":438,"line":390,"context":214},{"file":438,"line":390,"context":214},{"file":438,"line":390,"context":214},{"file":438,"line":390,"context":214},{"file":438,"line":397,"context":214},{"file":438,"line":399,"context":214},{"file":438,"line":401,"context":214},{"file":438,"line":403,"context":214},{"file":438,"line":405,"context":214},{"file":438,"line":407,"context":214},{"file":438,"line":313,"context":214},[],[467,484,492,503],{"entryPoint":468,"graph":469,"unsanitizedCount":28,"severity":483},"getListDateArray (include\\abstract.php:150)",{"nodes":470,"edges":481},[471,476],{"id":472,"type":473,"label":474,"file":142,"line":475},"n0","source","$_REQUEST",164,{"id":477,"type":478,"label":479,"file":142,"line":200,"wp_function":480},"n1","sink","get_results() [SQLi]","get_results",[482],{"from":472,"to":477,"sanitized":174},"low",{"entryPoint":485,"graph":486,"unsanitizedCount":28,"severity":483},"\u003Cabstract> (include\\abstract.php:0)",{"nodes":487,"edges":490},[488,489],{"id":472,"type":473,"label":474,"file":142,"line":475},{"id":477,"type":478,"label":479,"file":142,"line":200,"wp_function":480},[491],{"from":472,"to":477,"sanitized":174},{"entryPoint":493,"graph":494,"unsanitizedCount":28,"severity":483},"\u003Cajax_load_more_posts> (templates\\ajax_load_more_posts.php:0)",{"nodes":495,"edges":501},[496,498],{"id":472,"type":473,"label":497,"file":347,"line":193},"$_REQUEST (x15)",{"id":477,"type":478,"label":499,"file":347,"line":11,"wp_function":500},"echo() [XSS]","echo",[502],{"from":472,"to":477,"sanitized":174},{"entryPoint":504,"graph":505,"unsanitizedCount":28,"severity":483},"\u003Cajax_load_posts> (templates\\ajax_load_posts.php:0)",{"nodes":506,"edges":509},[507,508],{"id":472,"type":473,"label":497,"file":358,"line":193},{"id":477,"type":478,"label":499,"file":358,"line":11,"wp_function":500},[510],{"from":472,"to":477,"sanitized":174},{"summary":512,"deductions":513},"The archive-post-tabs plugin version 1.0 exhibits a mixed security posture.  While the absence of known CVEs and critical taint flows is a positive sign, indicating a lack of historically exploitable flaws and immediate critical code vulnerabilities, there are significant areas of concern.  The presence of two AJAX handlers without authentication checks creates a notable attack vector, potentially allowing unauthorized users to trigger plugin functionality.  Furthermore, the relatively low percentage of properly escaped output (57%) suggests a risk of Cross-Site Scripting (XSS) vulnerabilities, especially given the plugin's interaction with user-generated content that might be displayed.\n\nThe vulnerability history is reassuring, showing no recorded past exploits, which could imply diligent maintenance or simply good fortune. However, this should not overshadow the immediate risks identified in the static analysis. The plugin relies on nonce checks for its AJAX handlers, but the lack of capability checks for all entry points is a missed opportunity for robust authorization.  The plugin's attack surface is moderately sized with 7 total entry points, but the two unprotected AJAX handlers are the most pressing issues.  The SQL query analysis shows a reliance on prepared statements for some queries, but the overall percentage suggests that direct SQL execution might still occur in a way that is less secure.\n\nIn conclusion, while the plugin does not appear to have a history of severe vulnerabilities, the current static analysis reveals immediate security weaknesses. The unprotected AJAX handlers and potential for XSS due to insufficient output escaping are the most critical points to address.  The lack of capability checks on all entry points is a general best practice that is not being followed. Addressing these issues is crucial to improving the plugin's overall security.",[514,516,518],{"reason":515,"points":11},"AJAX handlers without auth checks",{"reason":517,"points":33},"Low output escaping percentage",{"reason":519,"points":373},"No capability checks on entry points","2026-03-17T01:12:51.382Z",{"wat":522,"direct":531},{"assetPaths":523,"generatorPatterns":528,"scriptPaths":529,"versionParams":530},[524,525,526,527],"\u002Fwp-content\u002Fplugins\u002Farchive-post-tabs\u002Fassets\u002Fcss\u002Fadmin-archivesposttab.css","\u002Fwp-content\u002Fplugins\u002Farchive-post-tabs\u002Fassets\u002Fjs\u002Fadmin-archivesposttab.js","\u002Fwp-content\u002Fplugins\u002Farchive-post-tabs\u002Fassets\u002Fcss\u002Farchivesposttab.css","\u002Fwp-content\u002Fplugins\u002Farchive-post-tabs\u002Fassets\u002Fjs\u002Farchivesposttab.js",[],[525,527],[],{"cssClasses":532,"htmlComments":534,"htmlAttributes":535,"restEndpoints":549,"jsGlobals":550,"shortcodeOutput":551},[533],"avptab-archives-post-tabs",[],[536,537,538,539,540,541,542,543,544,545,546,547,548],"data-template","data-widget-title","data-date-format","data-number-of-post-display","data-title-text-color","data-panel-text-color","data-panel-background-color","data-header-text-color","data-header-background-color","data-display-title-over-image","data-hide-widget-title","data-hide-post-title","data-tp_widget_width",[],[188],[]]