[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fRiX-BAlOa_pGQI9lwbhlTYIJsbRwoKZZZHfR8hJiXQY":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":38,"analysis":146,"fingerprints":270},"wp-developer-toolkit","Developer Toolkit for WordPress","0.2.4","Frank Corso","https:\u002F\u002Fprofiles.wordpress.org\u002Ffpcorso\u002F","\u003Cp>Developer Toolkit for WordPress is a handy tool for WordPress Developers. This plugin gives you 6 new shortcodes for displaying your WordPress plugins that are stored in the repository.\u003Cbr \u002F>\nOnce you add your plugins, you will have 6 shortcodes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Display Plugin Description\u003C\u002Fli>\n\u003Cli>Display Plugin Download Count\u003C\u002Fli>\n\u003Cli>Display Plugin Version\u003C\u002Fli>\n\u003Cli>Display Plugin Average Rating\u003C\u002Fli>\n\u003Cli>Display Date Of Last Update\u003C\u002Fli>\n\u003Cli>Display Link To Plugin File\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All of this is synced to your plugin on the repository on a regular basic. So when you update your plugin, your shortcodes will automatically update.\u003C\u002Fp>\n\u003Cp>You also get a statistics page in the admin panel. The statistics page shows:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Number Of Plugins You Have Entered\u003C\u002Fli>\n\u003Cli>Total Downloads Of All Plugins\u003C\u002Fli>\n\u003Cli>Overall Average Rating Of All Plugins\u003C\u002Fli>\n\u003Cli>Overall Average Downloads Per Plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Make Suggestions Or Contribute\u003C\u002Fh4>\n\u003Cp>Developer Toolkit for WordPress is on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fterrence-gonsalves\u002Fwordpress-developer-toolkit\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>! I have plenty of items on my to-do list for this plugin. I would love to hear your feedback so feel free to open issues or comment on any existing ones. Feel free to fork and open pull requests!\u003C\u002Fp>\n","A plugin for WordPress developers.",10,1739,0,"2025-10-13T02:56:00.000Z","4.2.39","5.2","",[19,20,21,22,23],"description","developer","download","review","stats","https:\u002F\u002Fen-ca.wordpress.org\u002Fplugins\u002Fwp-developer-toolkit\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-developer-toolkit.0.2.4.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"fpcorso",4,220,83,30,82,"2026-04-04T15:55:15.343Z",[39,64,86,104,126],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":61,"download_link":62,"security_score":63,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"page-visits-counter-lite","Page Visits Counter – Lite","1.2.2","Denis Botić","https:\u002F\u002Fprofiles.wordpress.org\u002Fstrongetic\u002F","\u003Cp>This plugin is going to display the number of visits for each page in the:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Admin dashboard\u003C\u002Fli>\n\u003Cli>Browser developer-tools\u002Fconsole tab – (HIDDEN COUNTERS)\u003C\u002Fli>\n\u003Cli>Website\u002Fpage frontend – (OPTIONAL)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can add and display counters on the frontend of your website:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>total page-visits-counter and\u002For\u003C\u002Fli>\n\u003Cli>total website-visits-counter\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>( Page-visits-counter does not count page refresh as a new visit while Website-visits-counter counts everything. )\u003C\u002Fp>\n\u003Ch3> Hidden page counter + admin page reports \u003C\u002Fh3>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FwxWiFin8NwE?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch3> How to display hidden counter on a website frontend? \u003C\u002Fh3>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FLWKxYhtYH3o?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>The purpose of this plugin is to supplement the report of actual visits to the pages of the website that cannot be recorded through advanced analytical tools. Advanced analytical tools require the consent of a visitor before the visit is recorded.\u003C\u002Fp>\n\u003Ch3> WHY LITE? \u003C\u002Fh3>\n\u003Cul>\n\u003Cli>It is a small size software and it does not require much memory.\u003C\u002Fli>\n\u003Cli>It is not going to crowd your database with tons of metric data and “eat” database memory.\u003C\u002Fli>\n\u003Cli>It is not going to collect user’s personal data – GDPR compliant.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3> NOT COUNTING \u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Logged in user with a role:\n\u003Cul>\n\u003Cli>admin\u003C\u002Fli>\n\u003Cli>editor\u003C\u002Fli>\n\u003Cli>shop manager\u003C\u002Fli>\n\u003Cli>custom role\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Page refresh\u002Freload ( But “Total Visits” load&reload sum will count it. )\u003C\u002Fli>\n\u003Cli>Submitting comments ( But “Total Visits” load&reload sum will count it. )\u003C\u002Fli>\n\u003Cli>Visiting direct media link in the uploads folder\u003C\u002Fli>\n\u003Cli>Media – attachment page\u003C\u002Fli>\n\u003Cli>Search results page\u003C\u002Fli>\n\u003Cli>Update cart ( But “Total Visits” load&reload sum will count it. )\u003C\u002Fli>\n\u003Cli>Checkout\u002Forder received ( But “Total Visits” load&reload sum will count it. )\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3> COUNTING \u003C\u002Fh3>\n\u003Cul>\n\u003Cli>A visitor ( Not logged in )\u003C\u002Fli>\n\u003Cli>Logged in user with a role:\n\u003Cul>\n\u003Cli>Subscriber\u003C\u002Fli>\n\u003Cli>Author\u003C\u002Fli>\n\u003Cli>Contributor\u003C\u002Fli>\n\u003Cli>Pending_user\u003C\u002Fli>\n\u003Cli>Customer\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Pages and posts:\n\u003Cul>\n\u003Cli>Pages and subpages\u003C\u002Fli>\n\u003Cli>Default and Static Homepage\u003C\u002Fli>\n\u003Cli>Blog Posts page\u003C\u002Fli>\n\u003Cli>Single post\u003C\u002Fli>\n\u003Cli>Default category and tag – archive pages\u003C\u002Fli>\n\u003Cli>404\u003C\u002Fli>\n\u003Cli>CPT\u003C\u002Fli>\n\u003Cli>Taxonomy archive pages\u003C\u002Fli>\n\u003Cli>WooCommerce:\n\u003Cul>\n\u003Cli>SHOP – archive page\u003C\u002Fli>\n\u003Cli>Single product\u003C\u002Fli>\n\u003Cli>Default category and tag – archive pages\u003C\u002Fli>\n\u003Cli>Attribute archive pages\u003C\u002Fli>\n\u003Cli>Cart ( Check Update cart is not counting… )\u003C\u002Fli>\n\u003Cli>Checkout ( Check “Checkout\u002Forder received” is not counting…)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3> ON CHANGE NAME of Page, Post, Product… \u003C\u002Fh3>\n\u003Cp>If you change the name of an existing page, post, product, archive, etc. then the old page will remain intact in the page visits report.\u003Cbr \u002F>\nAfter a new visit, the new page name will appear in the page visits report and the counter will start counting visits for the new page from the start.\u003C\u002Fp>\n\u003Ch3> ON DELETE of Page, Post, Product… \u003C\u002Fh3>\n\u003Cp>If you delete an existing page, post, product, archive, etc. then the page will remain intact in the page visits report including its number of visits.\u003C\u002Fp>\n\u003Ch3> VISITS-COUNTER ON THE WEBSITE FRONTEND \u003C\u002Fh3>\n\u003Cp>There are two counter types:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Website counter\u003C\u002Fli>\n\u003Cli>Page counter ( Not counting page refresh. )\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can add one or both counter types on your website or page frontend.\u003C\u002Fp>\n\u003Cp>Instructions on how to add counter\u002Fs to your website are in the plugin settings page under the tab named counter.\u003C\u002Fp>\n\u003Ch3> FEATURES \u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Invisible counter (In browser Developer-tools \u002F Console)\u003C\u002Fli>\n\u003Cli>GDPR Compliant\u003C\u002Fli>\n\u003Cli>WooCommerce (HPOS and Remote Logging) compatible\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3> REQUIREMENTS \u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress 5.0 +\u003C\u002Fli>\n\u003Cli>PHP 5.6.40 +\u003C\u002Fli>\n\u003Cli>WooCommerce 4.9.2 +\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3> PLUGIN UNINSTALL \u003C\u002Fh3>\n\u003Cp>On the plugin delete\u002Funinstall it will automatically clean its data from the database unless you select to preserve them in the plugin settings area.\u003Cbr \u002F>\nTherefore, it is harmless for you to try out this plugin.\u003C\u002Fp>\n\u003Ch3> FOR DEVELOPER \u003C\u002Fh3>\n\u003Cp>Admin dashboard widget has four wp-hooks:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>add_action( ‘StrCPVisits_db_widget_wrapper_start’ );\u003C\u002Fli>\n\u003Cli>add_action( ‘StrCPVisits_db_widget_after_total_visits_boxes’ );\u003C\u002Fli>\n\u003Cli>add_action( ‘StrCPVisits_db_widget_wrapper_end_before_js’ );\u003C\u002Fli>\n\u003Cli>add_action( ‘StrCPVisits_db_widget_wrapper_end_after_js’ );\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>LEGAL\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FDenisBotic\u002FWP-org-plugin-PAGE-VISITS-COUNTER-LITE\u002Fblob\u002Fmain\u002Fprivacy-policy.txt\" rel=\"nofollow ugc\">Privacy policy\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FDenisBotic\u002FWP-org-plugin-PAGE-VISITS-COUNTER-LITE\u002Fblob\u002Fmain\u002Fread-me-disclaimer.txt\" rel=\"nofollow ugc\">Disclaimer\u003C\u002Fa>\u003C\u002Fp>\n","Display number of visits for each page in admin dashboard and browser developer-tool\u002Fconsole. Doesn't count page refresh as a new visit...",5000,42595,80,7,"2025-01-06T15:19:00.000Z","6.7.5","5.0","5.6.40",[56,57,58,59,60],"developer-tools-counter","page-views","page-visit-counter","visit-stats","wordpress-counter","https:\u002F\u002Fstrongetic.com\u002Ffree-wp-plugins\u002Fpage-visits-counter-lite\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpage-visits-counter-lite.zip",92,{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":26,"downloaded":72,"rating":26,"num_ratings":73,"last_updated":74,"tested_up_to":75,"requires_at_least":76,"requires_php":17,"tags":77,"homepage":83,"download_link":84,"security_score":85,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"edd-variable-pricing-descriptions","Easy Digital Downloads – Variable Pricing Descriptions","1.1","Andrew Munro \u002F AffiliateWP","https:\u002F\u002Fprofiles.wordpress.org\u002Fsumobi\u002F","\u003Cp>Easy Digital Downloads – Variable Pricing Descriptions adds an “Option Description” field for each variable-priced download. This allows you to add a longer description to the option name if needed.\u003C\u002Fp>\n\u003Ch3>Where do descriptions show?\u003C\u002Fh3>\n\u003Cp>By default descriptions will show on the purchase button, where users can add items to their cart.\u003C\u002Fp>\n\u003Cp>Additionally, you can choose to show the descriptions on the checkout and receipt pages.\u003C\u002Fp>\n\u003Ch3>Styling\u003C\u002Fh3>\n\u003Cp>Variable Pricing Descriptions does not include any custom CSS, so it doesn’t impact your page speed and should work with any theme! If you wish to cusotmize the look and feel of the descriptions, you can use the included \u003Ccode>edd-variable-pricing-desc\u003C\u002Fcode> class to target the descriptions.\u003C\u002Fp>\n\u003Ch3>Why sell product variations?\u003C\u002Fh3>\n\u003Cp>Selling digital product variations is a powerful tool for any digial e-commerce store. Control what files are delivered depending on what variation is purchased, and reward your high paying customers. Some variation examples are:\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Feasydigitaldownloads.com\u002Fblog\u002Fselling-photographs\u002F\" rel=\"nofollow ugc\">Selling photos\u003C\u002Fa> at multiple resolutions.\u003Cbr \u002F>\n* Distributing single music files or a full album\u003Cbr \u002F>\n* Limit your \u003Ca href=\"https:\u002F\u002Feasydigitaldownloads.com\u002Fblog\u002Fselling-wordpress-plugins\u002F\" rel=\"nofollow ugc\">WordPress Plugin activations with Software Licensing\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Feasydigitaldownloads.com\u002Fblog\u002Fhow-to-sell-fonts-online-and-money-making-tips\u002F\" rel=\"nofollow ugc\">Sell font packages\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>This plugin requires \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feasy-digital-downloads\u002F\" title=\"Easy Digital Downloads\" rel=\"ugc\">Easy Digital Downloads\u003C\u002Fa> version 2.8 or greater.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Screenshot Theme\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>All screenshots were taken using the \u003Ca href=\"https:\u002F\u002Feasydigitaldownloads.com\u002Fdownloads\u002Fvendd\u002F\" rel=\"nofollow ugc\">Vendd\u003C\u002Fa> theme, our own theme custom built to work with Easy Digital Downloads.\u003C\u002Fstrong>\u003C\u002Fp>\n","Provide detailed descriptions to customers for your variations when using variable prices with Easy Digital Downloads.",9990,2,"2022-11-02T18:53:00.000Z","6.1.10","4.9",[78,79,80,81,82],"customize-product","descriptions","easy-digital-downloads","product-descriptions","variations","https:\u002F\u002Feasydigitaldownloads.com\u002Fdownloads\u002Fedd-variable-pricing-descriptions\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fedd-variable-pricing-descriptions.1.1.zip",85,{"slug":87,"name":88,"version":89,"author":90,"author_profile":91,"description":92,"short_description":93,"active_installs":26,"downloaded":94,"rating":26,"num_ratings":73,"last_updated":95,"tested_up_to":96,"requires_at_least":97,"requires_php":17,"tags":98,"homepage":17,"download_link":103,"security_score":85,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"quick-page-navigation","Quick Page Navigation","1.0.0","Sandesh","https:\u002F\u002Fprofiles.wordpress.org\u002Fsandesh055\u002F","\u003Cp>Quick Page Navigation is a tool for developer and designer who want to navigate pages frequently. Its big pain to navigate in WordPress. It take several clicks for desired page. This plugin will help you to search page at any location through admin bar.\u003C\u002Fp>\n\u003Cp>It adds quick access menu in your admin bar with search feature. It supports Beaver Builder also. Most Important Beaver Builder Live Preview Feature Added. ( It will help you to see finished page without save ).\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Easily Navigate Pages\u003C\u002Fli>\n\u003Cli>Directly Edit in WordPress or Beaver Builder\u003C\u002Fli>\n\u003Cli>Search Pages From Any Location Through Admin Bar\u003C\u002Fli>\n\u003Cli>Beaver Builder Live Preview\u003C\u002Fli>\n\u003C\u002Ful>\n","Quick Access to any page from admin bar at frontend \u002F backend. Easily edit any page in WordPress or Beaver Builder. Just Click, Search and Go.",3287,"2016-06-18T06:26:00.000Z","4.6.30","4.0.0",[99,100,20,101,102],"beaver-builder","beaver-builder-live-preview","edit-any-page","page-navigation","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fquick-page-navigation.1.0.0.zip",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":26,"num_ratings":114,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":118,"tags":119,"homepage":124,"download_link":125,"security_score":85,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"wc-product-tabs-plus","WC Product Tabs Plus","1.1.1","Wooninjas","https:\u002F\u002Fprofiles.wordpress.org\u002Fwooninjas\u002F","\u003Cp>WC Product Tabs Plus (WPTP) is an easy to use and intuitive tool to creating, ordering, hiding and managing your own WooCommerce Product tabs. These tabs can contain any content you wish, including shortcodes, and can be Global i.e. displayed on all Products, or specific to just one Product.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Support for Global Tabs\u003C\u002Fli>\n\u003Cli>Add product specific custom tabs alongside Global tabs on Product edit screen\u003C\u002Fli>\n\u003Cli>Option to hide custom\u002FGlobal Tabs from a product\u003C\u002Fli>\n\u003Cli>Full WYSIWYG editor with Media upload\u003C\u002Fli>\n\u003Cli>Supports shortcodes\u003C\u002Fli>\n\u003Cli>Sortable (drag\u002Fdrop ordering)\u003C\u002Fli>\n\u003Cli>Filter Hooks to customize title\u002Fcontent html\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Please see the contextual help tabs on admin screen for Global Tab (view\u002Fedit screen) and Product screen (edit screen only) for more info.\u003C\u002Fp>\n","Advance tab management for WooCommerce Product tabs",60,3716,6,"2022-07-04T15:19:00.000Z","6.0.0","5.1","7.2",[19,120,121,122,123],"products","reviews","tabs","woocommerce","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwc-product-tabs-plus\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwc-product-tabs-plus.zip",{"slug":127,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":35,"downloaded":134,"rating":26,"num_ratings":135,"last_updated":136,"tested_up_to":137,"requires_at_least":138,"requires_php":17,"tags":139,"homepage":144,"download_link":145,"security_score":85,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"enable-edd-comment","Enable Edd Comment","2","KHL32","https:\u002F\u002Fprofiles.wordpress.org\u002Fkhl32\u002F","\u003Cp>Active Comments For Easy Digital Downloads (EDD) in 1 Click!\u003C\u002Fp>\n","Active Comments For Easy Digital Downloads (EDD) in 1 Click!",1588,1,"2020-08-01T12:01:00.000Z","5.5.18","5.3",[140,141,142,143,127],"active-edd-comment","easy-digital-downloads-comment","edd-comment","edd-review","https:\u002F\u002Fpersian-vc.com\u002Fenable-edd-comments\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fenable-edd-comment.zip",{"attackSurface":147,"codeSignals":207,"taintFlows":259,"riskAssessment":260,"analyzedAt":269},{"hooks":148,"ajaxHandlers":178,"restRoutes":179,"shortcodes":180,"cronEvents":204,"entryPointCount":114,"unprotectedCount":13},[149,155,159,163,167,170,174],{"type":150,"name":151,"callback":152,"file":153,"line":154},"action","plugins_loaded","cron_check","php\\wpdt_cron.php",49,{"type":150,"name":156,"callback":157,"file":153,"line":158},"wpdt_nightly_event","cron",50,{"type":150,"name":160,"callback":161,"file":162,"line":63},"admin_menu","setup_admin_menu","wordpress-developer-toolkit.php",{"type":150,"name":164,"callback":165,"file":162,"line":166},"init","register_post_types",93,{"type":150,"name":151,"callback":168,"file":162,"line":169},"setup_translations",94,{"type":150,"name":171,"callback":171,"priority":172,"file":162,"line":173},"admin_head",900,95,{"type":150,"name":175,"callback":176,"file":162,"line":177},"admin_init","wpdt_update",96,[],[],[181,185,188,192,196,200],{"tag":182,"callback":183,"file":184,"line":154},"plugin_desc","display_description","php\\wpdt_shortcodes.php",{"tag":186,"callback":187,"file":184,"line":158},"plugin_link","display_download_link",{"tag":189,"callback":190,"file":184,"line":191},"plugin_download_count","display_download_count",51,{"tag":193,"callback":194,"file":184,"line":195},"plugin_version","display_version",52,{"tag":197,"callback":198,"file":184,"line":199},"plugin_rating","display_rating",53,{"tag":201,"callback":202,"file":184,"line":203},"plugin_updated","display_updated",54,[205],{"hook":156,"callback":156,"file":153,"line":206},61,{"dangerousFunctions":208,"sqlUsage":217,"outputEscaping":219,"fileOperations":13,"externalRequests":73,"nonceChecks":257,"capabilityChecks":73,"bundledLibraries":258},[209,214],{"fn":210,"file":211,"line":212,"context":213},"unserialize","php\\wpdt_plugins_page.php",75,"$plugin_info = unserialize( $response['body'] );",{"fn":210,"file":215,"line":216,"context":213},"php\\wpdt_refresh.php",79,{"prepared":13,"raw":13,"locations":218},[],{"escaped":220,"rawEcho":221,"locations":222},9,17,[223,226,227,229,231,233,235,237,239,241,243,245,247,249,251,253,255],{"file":224,"line":173,"context":225},"php\\wpdt_about_page.php","raw output",{"file":211,"line":112,"context":225},{"file":211,"line":228,"context":225},190,{"file":211,"line":230,"context":225},191,{"file":211,"line":232,"context":225},193,{"file":211,"line":234,"context":225},194,{"file":211,"line":236,"context":225},201,{"file":211,"line":238,"context":225},202,{"file":211,"line":240,"context":225},203,{"file":211,"line":242,"context":225},204,{"file":244,"line":112,"context":225},"php\\wpdt_stats_page.php",{"file":244,"line":246,"context":225},112,{"file":244,"line":248,"context":225},118,{"file":244,"line":250,"context":225},124,{"file":244,"line":252,"context":225},130,{"file":244,"line":254,"context":225},144,{"file":244,"line":256,"context":225},152,3,[],[],{"summary":261,"deductions":262},"The \"wp-developer-toolkit\" plugin v0.2.4 exhibits a generally positive security posture, with no recorded vulnerabilities (CVEs) and a secure approach to SQL queries through prepared statements. The absence of known vulnerabilities and the majority of SQL queries being prepared are strong indicators of good development practices. However, there are areas that warrant caution. The static analysis reveals the presence of two dangerous functions, specifically `unserialize`, which can be a significant risk if user-controlled data is ever passed to it without proper sanitization. Furthermore, only 35% of output escaping is properly implemented, suggesting a potential for cross-site scripting (XSS) vulnerabilities. While the attack surface is small and all entry points appear protected, the combination of `unserialize` and insufficient output escaping presents a notable risk that needs careful consideration and potential remediation.",[263,266],{"reason":264,"points":265},"Dangerous function 'unserialize' found",15,{"reason":267,"points":268},"Low percentage of properly escaped output",8,"2026-03-17T01:41:49.479Z",{"wat":271,"direct":280},{"assetPaths":272,"generatorPatterns":275,"scriptPaths":276,"versionParams":277},[273,274],"\u002Fwp-content\u002Fplugins\u002Fwp-developer-toolkit\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fwp-developer-toolkit\u002Fjs\u002Fadmin.js",[],[274],[278,279],"wp-developer-toolkit\u002Fcss\u002Fadmin.css?ver=","wp-developer-toolkit\u002Fjs\u002Fadmin.js?ver=",{"cssClasses":281,"htmlComments":288,"htmlAttributes":289,"restEndpoints":293,"jsGlobals":294,"shortcodeOutput":296},[282,283,284,285,286,287],"wrap","about-wrap","about-text","nav-tab-wrapper","nav-tab","nav-tab-active",[],[290,291,292],"id=\"tab_1\"","id=\"tab_2\"","id=\"what_new\"",[],[295],"wpdt_setTab",[]]