[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fPkgHJsAknLzdARmbp1GyTIR1KwVGENFyAHuYxAk9cZo":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":35,"analysis":134,"fingerprints":319},"ravatar","Ravatars","2.0.4","grokcode","https:\u002F\u002Fprofiles.wordpress.org\u002Fgrokcode\u002F","\u003Cp>Ravatars is a plugin that will generate and assign icons to the visitors leaving comments at your site. The icons are based on email,\u003Cbr \u002F>\nso a given visitor will get the same icon each time they comment.  It is easy to customize the avatars so that they match your site’s topic or theme. It also makes comment threads easier to follow when people have memorable “faces.”\u003C\u002Fp>\n\u003Cp>This plugin is based on Shamus Young’s Wavatars plugin.\u003C\u002Fp>\n\u003Cp>And a shout out to Gregory Weir for bugfixes. Thanks!\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Col>\n\u003Cli>You can customize the avatars your site will display to match your theme. Just upload source images to the\u003Cbr \u002F>\nwp-content\u002Fplugins\u002Fravatars\u002Fparts directory. Ravatars will create your custom avatars by choosing a random image and then cropping a random\u003Cbr \u002F>\npart of the image\u003C\u002Fli>\n\u003Cli>The icons are generated on-the-fly.  You can adjust the desired size of the icons.\u003C\u002Fli>\n\u003Cli>Easily integrates with avatar enabled themes\u003C\u002Fli>\n\u003Cli>For easy deployment in WordPress pre 2.5, icons will automatically precede the commenter’s name.  You can set HTML to come directly before and after the\u003Cbr \u002F>\nicon (to put it inside of a \u003CDIV> tag, for example) or you can control the placement of the icons manually if you don’t mind adding\u003Cbr \u002F>\na single line of PHP to your theme.\u003C\u002Fli>\n\u003Cli>The same email will result in the same Ravatar every time, assuming that the source images don’t change the same.  If you want avatars that are unique to your site, all you need to do is change the source images.\u003C\u002Fli>\n\u003Cli>This plugin also supports \u003Ca href=\"http:\u002F\u002Fsite.gravatar.com\u002F\" rel=\"nofollow ugc\">Gravatars\u003C\u002Fa>.  If you like, it can show the Gravatar for a given user\u003Cbr \u002F>\n(if available) and fall back on their Ravatar only if they don’t have a Gravatar set up.  This means users can choose to set up a unique\u003Cbr \u002F>\nicon for themselves, and if they don’t, they will be assigned a unique Ravatar.  It’s a system that lets people personalize if\u003Cbr \u002F>\nthey want, yet still provide a decent icon for the lazy or apathetic.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Revision History\u003C\u002Fh3>\n\u003Ch3>Version 1.0.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Initial release.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advanced Tricks\u003C\u002Fh3>\n\u003Ch4>If you get a memory error\u003C\u002Fh4>\n\u003Cp>Image manipulation functions are very memory intensive.  If you get a memory error, try reducing the size of your source images by lowering the resolution or cropping them into smaller parts.  You can also increase PHP’s memory_limit.\u003C\u002Fp>\n\u003Ch4>Using ravatar_show ()\u003C\u002Fh4>\n\u003Cp>If you place Ravatars by calling ravatar_show () manually, note that you can also specify an optional “size” argument to override the\u003Cbr \u002F>\ndefault. For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>ravatar_show($comment->comment_author_email, '160');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This would cause the Ravatar to be 160×160 pixels, even if the default was set to some other value.  You could do this to make admin icons\u003Cbr \u002F>\nlarger, for example.\u003C\u002Fp>\n\u003Ch4>Using ravatar_get ()\u003C\u002Fh4>\n\u003Cp>If ravatar_show () STILL doesn’t give you enough control, you can call:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>ravatar_get(email, size);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>And it will return the URL to the created image without writing anything to the page.\u003C\u002Fp>\n\u003Ch4>Random Ravatar Field\u003C\u002Fh4>\n\u003Cp>Put this code in your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>for ($i = 0; $i \u003C 100; $i++)\n    ravatar_show ($i);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>It will generate a field of 100 random ravatars, which is cool.  This is how I generated the ravatar screenshot.  It’s also a great way to quickly\u003Cbr \u002F>\ntest your source images.\u003C\u002Fp>\n","Ravatars will generate and assign random icons to the visitors leaving comments at your site.  It can optionally show Gravatars as well.",10,7129,0,"2014-10-27T16:02:00.000Z","2.7","2.0.2","",[19,20,21,22,23],"avatars","comments","gravtars","icons","posts","http:\u002F\u002Fgrok-code.com\u002F7\u002Fravatar-wordpress-plugin-for-randam-avatars\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fravatar.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},1,30,84,"2026-04-04T19:00:34.340Z",[36,50,74,92,114],{"slug":37,"name":38,"version":39,"author":17,"author_profile":40,"description":41,"short_description":42,"active_installs":11,"downloaded":43,"rating":44,"num_ratings":31,"last_updated":45,"tested_up_to":46,"requires_at_least":16,"requires_php":17,"tags":47,"homepage":48,"download_link":49,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"wavatars","Wavatars","1.1.3","https:\u002F\u002Fprofiles.wordpress.org\u002Fshamusyoung\u002F","\u003Cp>Wavatars is a plugin that will generate and assign icons to the visitors leaving comments at your site. The icons are based on email,\u003Cbr \u002F>\nso a given visitor will get the same icon each time they comment.  It livens up comment threads and gives people memorable “faces” to\u003Cbr \u002F>\naid in following conversations.  It’s also fun.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Wavatars can generate 956,384 different shapes in 57,600 different color combinations for a total of 55,087,718,400 (55 billion)\u003Cbr \u002F>\nunique Wavatars.  Yeah, you should have plenty.  You’ll run out of human beings (or hard drive space) long before you run out of\u003Cbr \u002F>\nWavatars.\u003C\u002Fli>\n\u003Cli>The icons are generated on-the-fly.  You can adjust the desired size of the icons.\u003C\u002Fli>\n\u003Cli>For easy deployment, icons will automatically precede the commenter’s name.  You can set HTML to come directly before and after the\u003Cbr \u002F>\nicon (to put it inside of a \u003CDIV> tag, for example) or you can control the placement of the icons manually if you don’t mind adding\u003Cbr \u002F>\na single line of PHP to your theme.\u003C\u002Fli>\n\u003Cli>Wavatars are based entirely on email and are thus very portable.  The same email will result in the same Wavatar, even on different\u003Cbr \u002F>\nsites, so users will have the same icon on all Wavatar-enabled sites.  (Assuming, or course, that there are other Wavatar-enabled\u003Cbr \u002F>\nsites.  I don’t know if anyone will want this plugin or not.)\u003C\u002Fli>\n\u003Cli>This plugin also supports \u003Ca href=\"http:\u002F\u002Fsite.gravatar.com\u002F\" rel=\"nofollow ugc\">Gravatars\u003C\u002Fa>.  If you like, it can show the Gravatar for a given user\u003Cbr \u002F>\n(if available) and fall back on their Wavatar only if they don’t have a Gravatar set up.  This means users can choose to set up a unique\u003Cbr \u002F>\nicon for themselves, and if they don’t, they will be assigned a unique Wavatar.  This is a great system that lets people personalize if\u003Cbr \u002F>\nthey want, yet still provide a decent icon for the lazy or apathetic.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Revision History\u003C\u002Fh3>\n\u003Ch3>Version 1.1.3\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fixed bad encoding which would prevent wavatars from appearing if the rating was NOT blank. If the admin does not specify a rating, the rating field is omitted.\u003C\u002Fli>\n\u003Cli>Fixed a typo on the admin panel.\u003C\u002Fli>\n\u003Cli>The wavatar url is now URL encoded.\u003C\u002Fli>\n\u003Cli>The image tag no longer uses the pointless “border tag, and it is now properly closed.\u003C\u002Fli>\n\u003Cli>Removed extra (pointless, harmless) repeated calls to strtolower ().\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Thanks to Gavin Lambert for many of these changes.\u003C\u002Fp>\n\u003Ch3>Version 1.1.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Made several small changes to comply with the changes at gravatars.com.  Appended .jpg to the $md5 hash, switched to using the new (shorter) field names.\u003C\u002Fli>\n\u003Cli>Fixed bug where the plugin was inserting wavatars in places it shouldn’t, such as RSS comment feeds and in sidebar wigits.  The auto-placement will now ONLY place\u003Cbr \u002F>\nicons when viewing a single post or a page.\u003C\u002Fli>\n\u003Cli>When placing icons manually within their theme, users should use \u003Ccode>wavatar_show($comment->comment_author_email)\u003C\u002Fcode> as opposed to\u003Cbr \u002F>\nwavatar_show($comment_author_email), as the eariler versions directed.  The latter will work in some situations but fail in others, and so the former is more correct.\u003Cbr \u002F>\nThe readme and the admin panel have been updated to reflect this.\u003C\u002Fli>\n\u003Cli>The admin panel will now list how many wavatars are in the cache.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Version 1.1.0\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fixed bug where setting AVATAR_SIZE to an odd number would cause PHP to pass floating-point values to imagefill (), which is not a good idea.\u003C\u002Fli>\n\u003Cli>Fixed bug where gravatars were always requested at 60×60, instead of the size defined in the admin panel.\u003C\u002Fli>\n\u003Cli>Added the function wavatar_get (email, size), which will return the url of the requested avatar instead of displaying it.  This can be useful if you want to use the\u003Cbr \u002F>\nimage in other ways, such as making it the background of an HTML element.  You could also use this if you need to display the image in a rectangular area instead of a square.\u003C\u002Fli>\n\u003Cli>Added option for controlling the rating of gravatars. (G, PG, R, X)\u003C\u002Fli>\n\u003Cli>Added options for how to handle users who leave the email field blank.  You can choose to give them a wavatar anyway, to give them a blank image, or show no image at all.\u003C\u002Fli>\n\u003Cli>The link back to the wavatars homepage in the footer is now actually a link and not just text.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Version 1.0.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Initial release.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advanced Tricks\u003C\u002Fh3>\n\u003Ch4>Using wavatar_show ()\u003C\u002Fh4>\n\u003Cp>If you place Wavatars by calling wavatar_show () manually, note that you can also specify an optional “size” argument to override the\u003Cbr \u002F>\ndefault. For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>wavatar_show($comment->comment_author_email, '160');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This would cause the Wavatar to be 160×160 pixels, even if the default was set to some other value.  You could do this to make admin icons\u003Cbr \u002F>\nlarger, for example.\u003C\u002Fp>\n\u003Ch4>Using wavatar_get ()\u003C\u002Fh4>\n\u003Cp>If wavatar_show () STILL doesn’t give you enough control, you can call:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>wavatar_get(email, size);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>And it will return the URL to the created image without writing anything to the page.\u003C\u002Fp>\n\u003Ch4>Random Wavatar Field\u003C\u002Fh4>\n\u003Cp>Put this code in your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>for ($i = 0; $i \u003C 100; $i++)\n    wavatar_show ($i);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>It will generate a field of 100 random wavatars, which is amusing.  This is how I generated the wavatar screenshot.  It’s also a great way to quickly\u003Cbr \u002F>\ntest you source images if you’re editing the composite parts to make new wavatar types.\u003C\u002Fp>\n","Wavatars will generate and assign icons to the visitors leaving comments at your site.  It can optionally show Gravatars as well.",10511,100,"2008-03-25T05:55:00.000Z","2.3.1",[19,20,21,22],"http:\u002F\u002Fwww.shamusyoung.com\u002Ftwentysidedtale\u002F?p=1462","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwavatars.zip",{"slug":51,"name":52,"version":53,"author":54,"author_profile":55,"description":56,"short_description":57,"active_installs":58,"downloaded":59,"rating":60,"num_ratings":61,"last_updated":62,"tested_up_to":63,"requires_at_least":64,"requires_php":65,"tags":66,"homepage":17,"download_link":70,"security_score":71,"vuln_count":72,"unpatched_count":13,"last_vuln_date":73,"fetched_at":28},"no-page-comment","No Page Comment","1.3.1","Seth Alling","https:\u002F\u002Fprofiles.wordpress.org\u002Fsethta\u002F","\u003Cp>Up until recently, WordPress gave two options: You could either disable comments and trackbacks by default for all pages and posts, or you could have them active by default. In WordPress version 4.3, this finally changed so comments are always disabled on new pages.\u003C\u002Fp>\n\u003Cp>While the new change makes it easier for many of the sites, it make it harder for people who need to get the reverse and enable comments on all pages, or if they need to change the default for a custom post type. This plugin allows you to choose whether comments are enabled or disabled by default on all new posts, pages and custom post types, while still giving the ability to individually enable comments on posts or pages.\u003C\u002Fp>\n\u003Cp>Also, this plugin provides a way to quickly disable all comments or pingbacks for a specific custom post type. It directly interacts with your database to modify the status, so it is highly recommended that you backup your database first. There shouldn’t be any issues using this feature, but it’s always good to play it safe.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsethta\u002Fno-page-comment\" title=\"No Page Comment Development on Github\" rel=\"nofollow ugc\">View No Page Comment Development on Github\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsethta\u002Fno-page-comment\u002Fissues\" title=\"Report an Issue about No Page Comment on Github\" rel=\"nofollow ugc\">Please Report any Issues about No Page Comment on Github\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fcgi-bin\u002Fwebscr?cmd=_s-xclick&hosted_button_id=5WWP2EDSCAJR4\" title=\"Donate to support the No Page Comment Plugin development\" rel=\"nofollow ugc\">Donate to Support No Page Comment Development\u003C\u002Fa>\u003C\u002Fp>\n","An admin interface to control the default comment and trackback settings on new posts, pages and custom post types.",10000,250545,96,23,"2025-11-17T15:09:00.000Z","6.8.5","6.2","7.4",[20,67,68,69,23],"custom-post-types","discussion","pages","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fno-page-comment.zip",99,2,"2022-09-21 00:00:00",{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":82,"downloaded":83,"rating":84,"num_ratings":72,"last_updated":85,"tested_up_to":86,"requires_at_least":87,"requires_php":17,"tags":88,"homepage":90,"download_link":91,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"typepad-emoji-for-tinymce","TypePad emoji for TinyMCE","1.5","picmo","https:\u002F\u002Fprofiles.wordpress.org\u002Fpicmo\u002F","\u003Cp>This plug-in is done by will being able to use the pictograph of TypePad with TinyMCE.\u003Cbr \u002F>\nThe icon palette can be easily called from TinyMCE.\u003C\u002Fp>\n\u003Ch4>for Japanese users\u003C\u002Fh4>\n\u003Cp>このプラグインは、TinyMCE上でTypePad絵文字を使えるようにします。\u003Cbr \u002F>\nTinyMCE上から絵文字パレットを簡単に呼び出すことが出来ます。\u003C\u002Fp>\n","This plug-in is done by will being able to use the pictograph of TypePad with TinyMCE.",9000,32884,90,"2017-11-28T13:05:00.000Z","3.9.40","3.9",[22,23,89],"tinymce","http:\u002F\u002Fwww.picmo.net\u002Fdl\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftypepad-emoji-for-tinymce.1.5.zip",{"slug":93,"name":94,"version":95,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":100,"downloaded":101,"rating":60,"num_ratings":102,"last_updated":103,"tested_up_to":104,"requires_at_least":105,"requires_php":65,"tags":106,"homepage":110,"download_link":111,"security_score":112,"vuln_count":72,"unpatched_count":13,"last_vuln_date":113,"fetched_at":28},"mihdan-no-external-links","No External Links","5.1.8","mihdan","https:\u002F\u002Fprofiles.wordpress.org\u002Fmihdan\u002F","\u003Cp>No External Links converts external links to internal links. Featuring \u003Cem>Full Page or Targeted Content Filtering\u003C\u002Fem>, \u003Cem>Custom Redirect Page\u002FMessage\u003C\u002Fem>, \u003Cem>Encoded Masks\u003C\u002Fem>, \u003Cem>External Link Click Logging\u003C\u002Fem>, \u003Cem>Individual Link Exclusion\u003C\u002Fem>, \u003Cem>Post\u002FPage Specific Exclusion\u003C\u002Fem>, and many more…\u003C\u002Fp>\n\u003Ch4>Example\u003C\u002Fh4>\n\u003Cp>Links like “\u003Cem>https:\u002F\u002Fwordpress.org\u003C\u002Fem>” will be masked into\u003Cbr \u002F>\n“\u003Cem>http:\u002F\u002Fwww.example.com\u002Fgoto\u002Fhttps:\u002F\u002Fwordpress.org\u003C\u002Fem>“.\u003C\u002Fp>\n\u003Ch4>Warning\u003C\u002Fh4>\n\u003Cp>No External Links may conflict with cache plugins.\u003Cbr \u002F>\nUsually adding the redirect page to the caching plugin exclusions works fine, but there are no guarantees.\u003Cbr \u002F>\nCreate a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fmihdan-no-external-links\" rel=\"ugc\">support topic\u003C\u002Fa> if you need assistance resolving a caching issue.\u003Cbr \u002F>\n\u003Cstrong>\u003Cem>Please provide as much detail as possible, for example, what version of WordPress & PHP you are using. Which caching plugin you are using. The more information you include the better.\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>Details\u003C\u002Fh4>\n\u003Cp>No External Links is designed for specialists who sell different kinds of advertisements on their web site and care about the number of outgoing links that can be found by search engines. Now you can make all external links internal.\u003C\u002Fp>\n\u003Ch4>How To Use\u003C\u002Fh4>\n\u003Cp>Just do everything like you would normally, and as long as the plugin is active, external links will be automatically masked.\u003C\u002Fp>\n\u003Ch4>Recommended Settings\u003C\u002Fh4>\n\u003Cp>The default settings that are used on a fresh install of the plugin are what we recommend.\u003C\u002Fp>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>Need help with anything? Please create a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fmihdan-no-external-links\" rel=\"ugc\">support topic\u003C\u002Fa>.\u003Cbr \u002F>\n\u003Cstrong>\u003Cem>Please provide as much detail as possible, for example, what version of WordPress & PHP you are using. Examples of links that do not work. If you are using a caching plugin, please specify which one. The more information you include the better.\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>Feature Request\u003C\u002Fh4>\n\u003Cp>Want a feature added to this plugin? Create a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fmihdan-no-external-links\" rel=\"ugc\">support topic\u003C\u002Fa>.\u003Cbr \u002F>\nWe are always looking to add features to improve our plugin.\u003C\u002Fp>\n\u003Ch4>Localization\u003C\u002Fh4>\n\u003Cp>We apologize that the latest version has changed so much that existing localizations no longer work.\u003Cbr \u002F>\nIf you would like to contribute to the translations please get in touch.\u003C\u002Fp>\n\u003Ch4>Note\u003C\u002Fh4>\n\u003Cp>No External Links \u003Cstrong>does not\u003C\u002Fstrong> make any changes to your database, it just processes the output. So you will not see these changes within the WYSIWYG editor.\u003C\u002Fp>\n","Convert external links into internal links, site wide or post\u002Fpage specific. Add NoFollow, Click logging, and more...",6000,78779,16,"2025-11-29T11:53:00.000Z","6.9.4","5.7.4",[20,107,23,108,109],"links","seo","seo-hide","https:\u002F\u002Fwww.kobzarev.com\u002Fprojects\u002Fno-external-links\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmihdan-no-external-links.5.1.8.zip",98,"2025-09-22 00:00:00",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":100,"downloaded":122,"rating":60,"num_ratings":123,"last_updated":124,"tested_up_to":104,"requires_at_least":125,"requires_php":17,"tags":126,"homepage":132,"download_link":133,"security_score":44,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"themezee-widget-bundle","ThemeZee Widget Bundle","1.7","ThemeZee","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemezee\u002F","\u003Cp>The \u003Cem>ThemeZee Widget Bundle\u003C\u002Fem> is a collection of useful widgets, neatly bundled into a single plugin. This plugin has been designed specifically for ThemeZee WordPress themes but will also work with any theme.\u003C\u002Fp>\n\u003Ch4>Included Widgets\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Recent Posts with Thumbnails\u003C\u002Fli>\n\u003Cli>Recent Comments with Gravatar\u003C\u002Fli>\n\u003Cli>Tabbed Content\u003C\u002Fli>\n\u003Cli>Social Icons Menu\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cp>For detailed setup instructions, visit the official \u003Ca href=\"https:\u002F\u002Fthemezee.com\u002Fdocs\u002Fwidget-bundle-documentation\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> page\u003C\u002Fp>\n\u003Ch3>Ressources\u003C\u002Fh3>\n\u003Cp>The ThemeZee Widget Bundle plugin includes the following third-party resources:\u003C\u002Fp>\n\u003Cp>Font Awesome (for our social icons subset) – https:\u002F\u002Fgithub.com\u002FFortAwesome\u002FFont-Awesome\u003Cbr \u002F>\nLicense: Distributed under the terms of the CC BY 4.0 License (https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\u002F)\u003Cbr \u002F>\nCopyright: Fonticons, Inc, https:\u002F\u002Ffontawesome.com\u002F\u003C\u002Fp>\n","A collection of useful widgets, neatly bundled into a single plugin.",149139,4,"2025-12-20T09:08:00.000Z","5.2",[127,128,129,130,131],"recent-posts","social-icons","tab-widget","themezee","widget","https:\u002F\u002Fthemezee.com\u002Fplugins\u002Fwidget-bundle\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fthemezee-widget-bundle.1.7.zip",{"attackSurface":135,"codeSignals":156,"taintFlows":189,"riskAssessment":309,"analyzedAt":318},{"hooks":136,"ajaxHandlers":152,"restRoutes":153,"shortcodes":154,"cronEvents":155,"entryPointCount":13,"unprotectedCount":13},[137,143,147],{"type":138,"name":139,"callback":140,"priority":31,"file":141,"line":142},"action","get_avatar","ravatar_get_avatar","ravatars.php",18,{"type":138,"name":144,"callback":145,"file":141,"line":146},"admin_menu","ravatar_add_pages",457,{"type":148,"name":149,"callback":150,"priority":31,"file":141,"line":151},"filter","get_comment_author","ravatar_comment_author",458,[],[],[],[],{"dangerousFunctions":157,"sqlUsage":158,"outputEscaping":160,"fileOperations":31,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":188},[],{"prepared":13,"raw":13,"locations":159},[],{"escaped":72,"rawEcho":161,"locations":162},12,[163,166,168,170,172,174,176,178,180,182,184,186],{"file":141,"line":164,"context":165},70,"raw output",{"file":141,"line":167,"context":165},74,{"file":141,"line":169,"context":165},79,{"file":141,"line":171,"context":165},116,{"file":141,"line":173,"context":165},158,{"file":141,"line":175,"context":165},159,{"file":141,"line":177,"context":165},206,{"file":141,"line":179,"context":165},226,{"file":141,"line":181,"context":165},398,{"file":141,"line":183,"context":165},431,{"file":141,"line":185,"context":165},432,{"file":141,"line":187,"context":165},433,[],[190,273],{"entryPoint":191,"graph":192,"unsanitizedCount":271,"severity":272},"ravatar_options (ravatars.php:90)",{"nodes":193,"edges":259},[194,199,204,208,210,214,216,220,222,226,228,232,234,238,240,244,246,250,252,255],{"id":195,"type":196,"label":197,"file":141,"line":198},"n0","source","$_POST['ravatar_auto']",127,{"id":200,"type":201,"label":202,"file":141,"line":198,"wp_function":203},"n1","sink","update_option() [Settings Manipulation]","update_option",{"id":205,"type":196,"label":206,"file":141,"line":207},"n2","$_POST['ravatar_size']",128,{"id":209,"type":201,"label":202,"file":141,"line":207,"wp_function":203},"n3",{"id":211,"type":196,"label":212,"file":141,"line":213},"n4","$_POST['ravatar_border']",129,{"id":215,"type":201,"label":202,"file":141,"line":213,"wp_function":203},"n5",{"id":217,"type":196,"label":218,"file":141,"line":219},"n6","$_POST['ravatar_suffix']",130,{"id":221,"type":201,"label":202,"file":141,"line":219,"wp_function":203},"n7",{"id":223,"type":196,"label":224,"file":141,"line":225},"n8","$_POST['ravatar_prefix']",131,{"id":227,"type":201,"label":202,"file":141,"line":225,"wp_function":203},"n9",{"id":229,"type":196,"label":230,"file":141,"line":231},"n10","$_POST['ravatar_noplug']",133,{"id":233,"type":201,"label":202,"file":141,"line":231,"wp_function":203},"n11",{"id":235,"type":196,"label":236,"file":141,"line":237},"n12","$_POST['ravatar_gravatars']",135,{"id":239,"type":201,"label":202,"file":141,"line":237,"wp_function":203},"n13",{"id":241,"type":196,"label":242,"file":141,"line":243},"n14","$_POST['ravatar_rating']",136,{"id":245,"type":201,"label":202,"file":141,"line":243,"wp_function":203},"n15",{"id":247,"type":196,"label":248,"file":141,"line":249},"n16","$_POST['ravatar_email_blank']",137,{"id":251,"type":201,"label":202,"file":141,"line":249,"wp_function":203},"n17",{"id":253,"type":196,"label":254,"file":141,"line":173},"n18","$_SERVER['REQUEST_URI'] (x2)",{"id":256,"type":201,"label":257,"file":141,"line":173,"wp_function":258},"n19","echo() [XSS]","echo",[260,262,263,264,265,266,267,268,269,270],{"from":195,"to":200,"sanitized":261},false,{"from":205,"to":209,"sanitized":261},{"from":211,"to":215,"sanitized":261},{"from":217,"to":221,"sanitized":261},{"from":223,"to":227,"sanitized":261},{"from":229,"to":233,"sanitized":261},{"from":235,"to":239,"sanitized":261},{"from":241,"to":245,"sanitized":261},{"from":247,"to":251,"sanitized":261},{"from":253,"to":256,"sanitized":261},11,"medium",{"entryPoint":274,"graph":275,"unsanitizedCount":271,"severity":308},"\u003Cravatars> (ravatars.php:0)",{"nodes":276,"edges":297},[277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296],{"id":195,"type":196,"label":197,"file":141,"line":198},{"id":200,"type":201,"label":202,"file":141,"line":198,"wp_function":203},{"id":205,"type":196,"label":206,"file":141,"line":207},{"id":209,"type":201,"label":202,"file":141,"line":207,"wp_function":203},{"id":211,"type":196,"label":212,"file":141,"line":213},{"id":215,"type":201,"label":202,"file":141,"line":213,"wp_function":203},{"id":217,"type":196,"label":218,"file":141,"line":219},{"id":221,"type":201,"label":202,"file":141,"line":219,"wp_function":203},{"id":223,"type":196,"label":224,"file":141,"line":225},{"id":227,"type":201,"label":202,"file":141,"line":225,"wp_function":203},{"id":229,"type":196,"label":230,"file":141,"line":231},{"id":233,"type":201,"label":202,"file":141,"line":231,"wp_function":203},{"id":235,"type":196,"label":236,"file":141,"line":237},{"id":239,"type":201,"label":202,"file":141,"line":237,"wp_function":203},{"id":241,"type":196,"label":242,"file":141,"line":243},{"id":245,"type":201,"label":202,"file":141,"line":243,"wp_function":203},{"id":247,"type":196,"label":248,"file":141,"line":249},{"id":251,"type":201,"label":202,"file":141,"line":249,"wp_function":203},{"id":253,"type":196,"label":254,"file":141,"line":173},{"id":256,"type":201,"label":257,"file":141,"line":173,"wp_function":258},[298,299,300,301,302,303,304,305,306,307],{"from":195,"to":200,"sanitized":261},{"from":205,"to":209,"sanitized":261},{"from":211,"to":215,"sanitized":261},{"from":217,"to":221,"sanitized":261},{"from":223,"to":227,"sanitized":261},{"from":229,"to":233,"sanitized":261},{"from":235,"to":239,"sanitized":261},{"from":241,"to":245,"sanitized":261},{"from":247,"to":251,"sanitized":261},{"from":253,"to":256,"sanitized":261},"low",{"summary":310,"deductions":311},"The \"ravatar\" plugin v2.0.4 exhibits a generally good security posture with no known historical vulnerabilities and a clean slate regarding critical code signals. The absence of AJAX handlers, REST API routes, shortcodes, and cron events significantly limits its potential attack surface. Furthermore, all identified SQL queries utilize prepared statements, which is a strong indicator of secure database interaction. The plugin also avoids external HTTP requests and does not bundle any libraries, reducing the risk of vulnerabilities from third-party components.\n\nHowever, there are a couple of areas that warrant attention. The taint analysis revealed two flows with unsanitized paths, which, while not classified as critical or high severity, could potentially lead to issues if exploited in conjunction with other weaknesses. More significantly, only 14% of output instances are properly escaped. This low percentage suggests a high risk of Cross-Site Scripting (XSS) vulnerabilities, where attacker-controlled data might be rendered directly in the browser without proper sanitization, allowing malicious scripts to be executed.\n\nGiven the lack of historical vulnerabilities and the robust handling of SQL queries and external requests, the plugin is not inherently insecure. The primary concern stems from the inadequate output escaping. Addressing this would significantly strengthen the plugin's security. The absence of explicit capability checks on entry points, though currently moot due to the lack of entry points, would become a concern if new entry points were introduced in future versions without proper authorization checks.",[312,315],{"reason":313,"points":314},"Low percentage of properly escaped output",15,{"reason":316,"points":317},"Flows with unsanitized paths found in taint analysis",5,"2026-03-17T01:25:02.501Z",{"wat":320,"direct":327},{"assetPaths":321,"generatorPatterns":323,"scriptPaths":324,"versionParams":325},[322],"\u002Fwp-content\u002Fplugins\u002Fravatar\u002Fravatar.css",[],[],[326],"ravatar\u002Fravatar.css?ver=",{"cssClasses":328,"htmlComments":329,"htmlAttributes":332,"restEndpoints":339,"jsGlobals":340,"shortcodeOutput":341},[],[330,331],"\u003C!-- This is used to help build the options page. -->","\u003C!-- This builds the options page where you can administrate the plugin rather\n than mucking about here in the source code.  Which you seem to be doing anyway. -->",[333,334,335,336,337,338],"name=\"ravatar_update\"","name=\"ravatar_clear_cache\"","name=\"ravatar_gravatars\"","name=\"ravatar_rating\"","name=\"ravatar_email_blank\"","value=\"Y\"",[],[],[]]