[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fnTyzbzKTyTqlqfmeFsrWJbsP1V4_zyNey7O_o4HcsO4":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":17,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":35,"analysis":145,"fingerprints":414},"profile-xtra","Profile Xtra","2.2.2","ernestortiz","https:\u002F\u002Fprofiles.wordpress.org\u002Fernestortiz\u002F","\u003Cp>With this plugin an author can nicely add an image to its profile (an use it on their posts instead of the avatar). Some different social addresses can be added also by the author. The image, bio and social contact can be placed anywhere in the post (using shortcode or its widget form).\u003C\u002Fp>\n\u003Cp>Sometimes you want to add an article from certain person, but not neccesarly register that person as an author to your blog. With this plugin, you simply add that (\u003Cem>alter\u003C\u002Fem> or alternative) author directly when you create or edit the post. In the backend, to wordpress, you are the author (you have such capability), but in all other aspects, in the frontend, the alter author appears as the author of that post.\u003C\u002Fp>\n\u003Cp>And if you want to consider more than one author for a post, this plugin let you to do it easily.\u003C\u002Fp>\n\u003Ch3>Donations\u003C\u002Fh3>\n\u003Cp>If you want to help me in writing more code or better poetry, please invite me to a beer (or coffee, maybe) by sending your thanks to http:\u002F\u002Fpaypal.me\u002Fernestortiz. Thanks in advance.\u003C\u002Fp>\n","This plugin adds some xtras to authoring profile: profile image, social media contacts, as well as alternative author and multiple authors.",10,1835,0,"2018-04-08T13:53:00.000Z","4.9.29","3.0.1","",[19,20,21,22,23],"alternative-author","author-image","multiple-authors","profile","social-links","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprofile-xtra.2.2.2.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},4,110,30,84,"2026-04-04T21:14:26.492Z",[36,60,85,106,125],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":13,"num_ratings":13,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":49,"tags":50,"homepage":55,"download_link":56,"security_score":57,"vuln_count":58,"unpatched_count":13,"last_vuln_date":59,"fetched_at":27},"authorsy","Authorsy – Author Box, Multiple Authors, Guest Authors & Post Rating","1.0.7","themeplugs","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemeplugs\u002F","\u003Cp>\u003Cstrong>Authorsy\u003C\u002Fstrong> is a complete \u003Cstrong>WordPress author box plugin\u003C\u002Fstrong> that helps you showcase your writers with style. Display author profiles, bios, photos, and social links at the end of your posts. Highlight single or multiple authors, support guest authors, and engage readers with post rating options.\u003C\u002Fp>\n\u003Cp>Perfect for \u003Cstrong>blogs, magazines, multi-author sites, or collaborative content\u003C\u002Fstrong>, Authorsy lets you build trust with your audience while giving credit to every contributor.\u003C\u002Fp>\n\u003Cp>👉 \u003Ca href=\"https:\u002F\u002Fproduct.themewinter.com\u002Fauthorsy\u002F\" rel=\"nofollow ugc\">Live Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fthemewinter.com\u002Fauthorsy\u002F\" rel=\"nofollow ugc\">Buy Pro\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fsupport.themewinter.com\u002Fdocs\u002Fplugins\u002Fdocs\u002Fauthorsy\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fapp.loopedin.io\u002Fauthorsy\" rel=\"nofollow ugc\">Roadmaps\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🎯 Why Use Authorsy?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Showcase \u003Cstrong>professional author profiles\u003C\u002Fstrong> with bios, photos, and social links.  \u003C\u002Fli>\n\u003Cli>Add \u003Cstrong>multiple authors or guest authors\u003C\u002Fstrong> to posts.  \u003C\u002Fli>\n\u003Cli>Improve \u003Cstrong>engagement with author recognition and post ratings.\u003C\u002Fstrong>  \u003C\u002Fli>\n\u003Cli>Fully customizable to match your \u003Cstrong>theme and branding.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>✅ Free Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Custom Author Profiles\u003C\u002Fstrong> – Add bios, profile photos, and social links.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Author Box Widget\u003C\u002Fstrong> – Display at the end of posts or pages.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Authors Support\u003C\u002Fstrong> – Assign more than one author to a post.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Guest Authors\u003C\u002Fstrong> – Let external writers contribute without WP accounts.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customization Options\u003C\u002Fstrong> – Change colors, layouts, and styles.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcodes\u003C\u002Fstrong> – Insert author info anywhere.  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🌟 Authorsy Pro Features\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Available only in \u003Ca href=\"https:\u002F\u002Fthemewinter.com\u002Fauthorsy\u002F\" rel=\"nofollow ugc\">Authorsy Pro\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cul>\n\u003Cli>Author Box on Hover  \u003C\u002Fli>\n\u003Cli>More Author Box Layouts  \u003C\u002Fli>\n\u003Cli>Custom Post Type Support  \u003C\u002Fli>\n\u003Cli>Extra Bio Fields  \u003C\u002Fli>\n\u003Cli>Custom Styles and Position (before\u002Fafter content)  \u003C\u002Fli>\n\u003Cli>Like \u002F Dislike Voting Box  \u003C\u002Fli>\n\u003Cli>Post Rating Restrictions (IP, Cookie, Logged-in)  \u003C\u002Fli>\n\u003Cli>Voting Reports and Analytics  \u003C\u002Fli>\n\u003Cli>Social Share for Positive Feedback  \u003C\u002Fli>\n\u003Cli>Private Feedback for Negative Feedback  \u003C\u002Fli>\n\u003Cli>Top Voted Posts Block  \u003C\u002Fli>\n\u003C\u002Ful>\n","Authorsy is a powerful WordPress author box plugin. Add customizable author profiles, multiple authors, guest authors, bios, social links, and post ra &hellip;",1000,16112,"2025-12-25T17:52:00.000Z","6.9.4","5.2","7.3",[51,52,53,54,21],"author-bio","author-box","author-profile","guest-authors","https:\u002F\u002Fthemeplugs.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauthorsy.1.0.7.zip",98,2,"2026-02-03 00:00:00",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":70,"num_ratings":58,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":74,"tags":75,"homepage":80,"download_link":81,"security_score":82,"vuln_count":58,"unpatched_count":83,"last_vuln_date":84,"fetched_at":27},"user-avatar-reloaded","User Avatar – Reloaded","1.2.2","Saad Iqbal","https:\u002F\u002Fprofiles.wordpress.org\u002Fsaadiqbal\u002F","\u003Cp>WordPress currently only allows you to use custom avatars that are uploaded through Gravatar. WP User Avatar enables you to use any photo uploaded into your Media Library as an avatar. This means you use the same uploader and library as your posts. No extra folders or image editing functions are necessary.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WP User Avatar\u003C\u002Fstrong> also lets you:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Upload your own Default Avatar in your WP User Avatar settings.\u003C\u002Fli>\n\u003Cli>Show the user’s \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa> avatar or Default Avatar if the user doesn’t have a WP User Avatar image.\u003C\u002Fli>\n\u003Cli>Disable \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa> avatars and use only local avatars.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[avatar_upload]\u003C\u002Fcode> shortcode to add a standalone uploader to a front page or widget. This uploader is only visible to logged-in users.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[avatar]\u003C\u002Fcode> shortcode in your posts. These shortcodes will work with any theme, whether it has avatar support or not.\u003C\u002Fli>\n\u003Cli>Allow Contributors and Subscribers to upload their own avatars.\u003C\u002Fli>\n\u003Cli>Limit upload file size and image dimensions for Contributors and Subscribers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>ADD WP USER AVATAR TO YOUR OWN PROFILE EDIT PAGE\u003C\u002Fh3>\n\u003Cp>You can use the [avatar_upload] shortcode to add a standalone uploader to any page. It’s best to use this uploader by itself and without other profile fields.\u003Cbr \u002F>\nIf you’re building your own profile edit page with other fields, WP User Avatar is automatically added to the show_user_profile and edit_user_profile hooks. If you’d rather have WP User Avatar in its own section, you could add another hook:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>do_action('edit_user_avatar', $current_user);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then, to add WP User Avatar to that hook and remove it from the other hooks outside of the administration panel, you would add this code to the functions.php file of your theme:\n    \u003C\u002Fp>\n\u003Ch3>HTML WRAPPER\u003C\u002Fh3>\n\u003Cp>You can change the HTML wrapper of the WP User Avatar section by using the functions wpua_before_avatar and wpua_after_avatar. By default, the avatar code is structured like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"wpua-edit-container\">\n  \u003Ch3>Avatar\u003C\u002Fh3>\n  \u003Cinput type=\"hidden\" name=\"wp-user-avatar\" id=\"wp-user-avatar\" value=\"{attachmentID}\" \u002F>\n  \u003Cp id=\"wpua-add-button\">\n    \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-add\" name=\"wpua-add\">Edit Image\u003C\u002Fbutton>\n  \u003C\u002Fp>\n  \u003Cp id=\"wpua-preview\">\n    \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n    Original Size\n  \u003C\u002Fp>\n  \u003Cp id=\"wpua-thumbnail\">\n    \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n    Thumbnail\n  \u003C\u002Fp>\n  \u003Cp id=\"wpua-remove-button\">\n    \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-remove\" name=\"wpua-remove\">Default Avatar\u003C\u002Fbutton>\n  \u003C\u002Fp>\n  \u003Cp id=\"wpua-undo-button\">\n    \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-undo\" name=\"wpua-undo\">Undo\u003C\u002Fbutton>\n  \u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To strip out the div container and h3 heading, you would add the following filters to the functions.php file in your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\nremove_action('wpua_before_avatar', 'wpua_do_before_avatar');\nremove_action('wpua_after_avatar', 'wpua_do_after_avatar');\n?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To add your own wrapper, you could create something like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\nfunction my_before_avatar() {\n  echo '\u003Cdiv id=\"my-avatar\">';\n}\nadd_action('wpua_before_avatar', 'my_before_avatar');\n\nfunction my_after_avatar() {\n  echo '\u003C\u002Fdiv>';\n}\nadd_action('wpua_after_avatar', 'my_after_avatar');\n?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This would output:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv id=\"my-avatar\">\n  \u003Cinput type=\"hidden\" name=\"wp-user-avatar\" id=\"wp-user-avatar\" value=\"{attachmentID}\" \u002F>\n  \u003Cp id=\"wpua-add-button\">\n    \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-add\" name=\"wpua-add\">Edit Image\u003C\u002Fbutton>\n  \u003C\u002Fp>\n  \u003Cp id=\"wpua-preview\">\n    \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n    \u003Cspan class=\"description\">Original Size\u003C\u002Fspan>\n  \u003C\u002Fp>\n  \u003Cp id=\"wpua-thumbnail\">\n    \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n    \u003Cspan class=\"description\">Thumbnail\u003C\u002Fspan>\n  \u003C\u002Fp>\n  \u003Cp id=\"wpua-remove-button\">\n    \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-remove\" name=\"wpua-remove\">Default Avatar\u003C\u002Fbutton>\n  \u003C\u002Fp>\n  \u003Cp id=\"wpua-undo-button\">\n    \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-undo\" name=\"wpua-undo\">Undo\u003C\u002Fbutton>\n  \u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Use any image from your WordPress Media Library as a custom user avatar or user profile picture. Add your own Default Avatar.",900,10086,100,"2023-09-14T08:17:00.000Z","6.3.8","4.0","5.6",[20,76,77,78,79],"author-photo","avatar","gravatar","user-profile","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-user-avatar-reloaded","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fuser-avatar-reloaded.1.2.2.zip",62,1,"2025-09-28 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":95,"num_ratings":96,"last_updated":97,"tested_up_to":98,"requires_at_least":74,"requires_php":99,"tags":100,"homepage":102,"download_link":103,"security_score":104,"vuln_count":83,"unpatched_count":13,"last_vuln_date":105,"fetched_at":27},"wp-about-author","WP About Author","1.6.3","Jon Bishop","https:\u002F\u002Fprofiles.wordpress.org\u002Fjonbishop\u002F","\u003Cp>Display beautifully styled author bios below your posts with full control over layout, design, and social links. WP About Author integrates seamlessly with WordPress profiles and works instantly with minimal setup.\u003C\u002Fp>\n\u003Cp>Features include:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Multiple layout styles including left, right, and centered designs\u003C\u002Fli>\n\u003Cli>Border and background options to match your site’s theme\u003C\u002Fli>\n\u003Cli>Custom avatar sizing and optional circular display\u003C\u002Fli>\n\u003Cli>Toggle display on posts, pages, archives, search results, and more\u003C\u002Fli>\n\u003Cli>Choose between text or SVG icon social links for 20+ services\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The plugin also adds additional fields to user profiles for platforms like GitHub, LinkedIn, Threads, TikTok, YouTube, and more making it easy for readers to connect with your authors.\u003C\u002Fp>\n","Easily display customizable author bios below your posts",600,80454,90,17,"2025-05-25T06:37:00.000Z","6.8.5","7.4",[51,52,101,23,79],"post-footer","https:\u002F\u002Fjonbishop.com\u002Fdownloads\u002Fwordpress-plugins\u002Fwp-about-author\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-about-author.1.6.3.zip",99,"2025-02-24 00:00:00",{"slug":20,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":70,"downloaded":113,"rating":70,"num_ratings":58,"last_updated":114,"tested_up_to":115,"requires_at_least":116,"requires_php":17,"tags":117,"homepage":123,"download_link":124,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"WP Custom Author Image","1.0","p4wparamjeet","https:\u002F\u002Fprofiles.wordpress.org\u002Fp4wparamjeet\u002F","\u003Cp>The WP Custom Author Image plugin for WordPress lets you easily add WP Custom Author Images on your site.\u003C\u002Fp>\n\u003Cp>It creates a widget that you can insert in a sidebar or any other widget area allowed by your theme.\u003Cbr \u002F>\nThe plugin now supports a short code [wp-custom-author-image] you can use to directly add the image to the page or post content.\u003C\u002Fp>\n\u003Cp>Alternatively, you can place the following call in the loop where you want the WP Custom Author Image to appear:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php the_wp_custom_author_image($author_id = null); ?>\n\nThis $author_id parameter is optional.  If it is not passed in, the code will attempt to get the current author of the page\u002Fpost.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>A second version of this function exists whereby you can pass in width and height to display the image.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php the_wp_custom_author_image_size($width, $height, $author_id = null); ?>\n\nThis $author_id parameter is optional.  If it is not passed in, the code will attempt to get the current author of the page\u002Fpost.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To configure your WP Custom Author Image, browse Users \u002F Your Profile in the admin area.\u003C\u002Fp>\n\u003Ch4>Setting WP Custom Author Image Size\u003C\u002Fh4>\n\u003Cp>You can adjust the actual display size in the WP Custom Author Image widget or by using the_wp_custom_author_image_size function call.\u003C\u002Fp>\n\u003Cp>If you do not specify a size the width and height of the actual image will be used.\u003C\u002Fp>\n\u003Ch4>Shortcode\u003C\u002Fh4>\n\u003Col>\n\u003Cli>You can use [wp-custom-author-image] to display the uploaded WP Custom Author Image in your page\u002Fpost content.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Multi-Author Sites\u003C\u002Fh4>\n\u003Cp>For sites with multitudes of authors, the widget offers the ability to insert a link to the author’s posts — his archives.\u003C\u002Fp>\n\u003Ch4>Single Author Sites\u003C\u002Fh4>\n\u003Cp>Normally the widget will only display an WP Custom Author Image when it can clearly identify who the content’s author actually is. In other words, on singular pages or in the loop.\u003C\u002Fp>\n\u003Cp>If you run a single author site, or a site with multiple ghost writers, be sure to check the “This site has a single author” option. The widget will then output your image at all times.\u003C\u002Fp>\n\u003Ch4>Alternate About Page Link\u003C\u002Fh4>\n\u003Cp>Normally the widget will use the author’s posts page (\u002Fauthor\u002Fauthorname\u002F) is the image is clicked on.   If your site has a dedicated page for the author, such as an ‘About Me’ page,\u003C\u002Fp>\n\u003Cp>there is a new field in ‘Your Profile’ called ‘About Me Page’.  Entering a url in this field (\u002Fabout-me\u002F) will cause the widget to use this link as opposed to \u002Fauthor\u002Fauthorname.\u003C\u002Fp>\n\u003Ch4>Retrieving Author Url\u003C\u002Fh4>\n\u003Cp>You can retrieve the url to the respective WP Custom Author Image by calling the function\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php the_wp_custom_author_image_url($author_id = null); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If $author_id is blank the plugin will attempt to determine the current author and retrieve his\u002Fher image.\u003C\u002Fp>\n","Lets you easily add WP Custom Author Images on your site.",2740,"2019-08-27T05:41:00.000Z","5.2.24","3.1",[118,119,120,121,122],"author","user-gravatar","user-photo","user-profile-photo","wp-custom-author-image","https:\u002F\u002Fprofiles.wordpress.org\u002Fp4wparamjeet","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauthor-image.zip",{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":32,"downloaded":133,"rating":95,"num_ratings":58,"last_updated":134,"tested_up_to":135,"requires_at_least":136,"requires_php":137,"tags":138,"homepage":143,"download_link":144,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"link-in-bio-wp","Link In Bio WP","1.2.0","Santiago Garza","https:\u002F\u002Fprofiles.wordpress.org\u002Fsgarza\u002F","\u003Cp>Instagram posts are a great place to get your content out to the world, but you can’t click links within an individual post. Link In Bio WP Creates a simple landing page that lets you mirror your instagram feed so that you can easily link to outside content.\u003C\u002Fp>\n\u003Ch3>Getting Started\u003C\u002Fh3>\n\u003Cp>After activating the plugin, you can begin populating the page with content by adding new “Links” by clicking “Links -> Add New” in the WordPress Admin sidebar. You can further customize the landing page by going to “Link In Bio Settings” in the WordPress customizer.\u003C\u002Fp>\n\u003Cp>The landing page can be found at https:\u002F\u002Fyourdomain.com\u002Flinks\u002F. Anchor links on the page are also available at \u002Flinks\u002F#media & \u002Flinks\u002F#posts\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Create a landing page that mirrors your instagram feed in order to link to outside content.\u003C\u002Fli>\n\u003Cli>Customize landing page link.\u003C\u002Fli>\n\u003Cli>Mobile first & Responsive layout.\u003C\u002Fli>\n\u003Cli>Infinite Scrolling built in.\u003C\u002Fli>\n\u003Cli>Easily customize landing page within the customizer.\u003C\u002Fli>\n\u003Cli>Built in hooks let developers customize the plugin even further.\u003C\u002Fli>\n\u003C\u002Ful>\n","Mirror your instagram feed to easily add links in every post.",1677,"2020-04-23T06:03:00.000Z","5.4.19","5.0","7.0.3",[139,23,140,141,142],"instagram","social-media","social-profile","social-share","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flink-in-bio-wp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flink-in-bio-wp.zip",{"attackSurface":146,"codeSignals":254,"taintFlows":359,"riskAssessment":404,"analyzedAt":413},{"hooks":147,"ajaxHandlers":240,"restRoutes":248,"shortcodes":249,"cronEvents":253,"entryPointCount":239,"unprotectedCount":13},[148,155,159,164,168,171,174,179,183,187,190,194,196,201,204,208,212,216,220,224,227,231,235],{"type":149,"name":150,"callback":151,"priority":152,"file":153,"line":154},"filter","attachment_fields_to_edit","profilextra_style_umedia",10000,"ajaxes.php",39,{"type":149,"name":156,"callback":157,"file":153,"line":158},"media_upload_tabs","profilextra_url_tab",40,{"type":160,"name":161,"callback":162,"file":153,"line":163},"action","admin_init","profilextra_thickbox",43,{"type":149,"name":165,"callback":166,"priority":11,"file":153,"line":167},"attribute_escape","profilextra_umedia_btn",58,{"type":160,"name":169,"callback":170,"file":153,"line":25},"admin_head","ajaxes_js",{"type":160,"name":169,"callback":172,"file":153,"line":173},"profilextra_id",91,{"type":160,"name":175,"callback":176,"file":177,"line":178},"add_meta_boxes","profilextra_alterauthor_metabox","alterauthor.php",8,{"type":160,"name":180,"callback":181,"file":177,"line":182},"save_post","save_alterauthor_mbox",78,{"type":160,"name":175,"callback":184,"file":185,"line":186},"profilextra_multiauthor_metabox","multiauthor.php",21,{"type":160,"name":180,"callback":188,"file":185,"line":189},"save_multiauthor_mbox",75,{"type":160,"name":191,"callback":192,"file":193,"line":30},"admin_menu","profilextra_menu","optionspage.php",{"type":160,"name":161,"callback":195,"file":193,"line":32},"profilextra_setfields",{"type":160,"name":197,"callback":198,"file":199,"line":200},"plugins_loaded","profilextra_init","profilextra.php",18,{"type":160,"name":202,"callback":203,"file":199,"line":186},"admin_enqueue_scripts","profilextra_backend_scripts",{"type":160,"name":205,"callback":206,"file":199,"line":207},"wp_enqueue_scripts","profilextra_frontend_scripts",22,{"type":149,"name":209,"callback":210,"file":199,"line":211},"the_author","filter_alterauthor_name",69,{"type":149,"name":213,"callback":214,"file":199,"line":215},"author_link","filter_alterauthor_link",76,{"type":149,"name":217,"callback":218,"file":199,"line":219},"get_the_author_description","filter_alterauthor_descr",80,{"type":160,"name":221,"callback":222,"file":199,"line":223},"personal_options_update","profilextra_update_fields",157,{"type":160,"name":225,"callback":222,"file":199,"line":226},"edit_user_profile_update",158,{"type":149,"name":228,"callback":229,"priority":11,"file":199,"line":230},"get_avatar","profilextra_user_image",176,{"type":149,"name":232,"callback":233,"file":199,"line":234},"user_contactmethods","profilextra_social_contact",186,{"type":149,"name":236,"callback":237,"file":238,"line":239},"widget_text","do_shortcode","shortcodes.php",3,[241,247],{"action":242,"nopriv":243,"callback":244,"hasNonce":245,"hasCapCheck":243,"file":153,"line":246},"profilextra_reqs",false,"profilextra_reqs_callback",true,7,{"action":242,"nopriv":245,"callback":244,"hasNonce":245,"hasCapCheck":243,"file":153,"line":178},[],[250],{"tag":251,"callback":252,"file":238,"line":178},"profilextra","profilextra_user",[],{"dangerousFunctions":255,"sqlUsage":256,"outputEscaping":266,"fileOperations":13,"externalRequests":13,"nonceChecks":239,"capabilityChecks":357,"bundledLibraries":358},[],{"prepared":58,"raw":239,"locations":257},[258,262,264],{"file":259,"line":260,"context":261},"uninstall.php",24,"$wpdb->query() with variable interpolation",{"file":259,"line":263,"context":261},29,{"file":259,"line":265,"context":261},34,{"escaped":11,"rawEcho":267,"locations":268},51,[269,271,272,274,276,278,279,281,282,284,285,287,288,290,292,293,294,296,297,298,300,302,303,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,333,335,337,339,341,343,345,347,348,350,352,354,355],{"file":153,"line":32,"context":270},"raw output",{"file":153,"line":182,"context":270},{"file":153,"line":273,"context":270},79,{"file":177,"line":275,"context":270},15,{"file":177,"line":277,"context":270},16,{"file":177,"line":200,"context":270},{"file":177,"line":280,"context":270},19,{"file":177,"line":207,"context":270},{"file":177,"line":283,"context":270},23,{"file":177,"line":260,"context":270},{"file":177,"line":286,"context":270},25,{"file":177,"line":286,"context":270},{"file":177,"line":289,"context":270},27,{"file":177,"line":291,"context":270},28,{"file":177,"line":32,"context":270},{"file":185,"line":291,"context":270},{"file":185,"line":295,"context":270},31,{"file":185,"line":158,"context":270},{"file":185,"line":158,"context":270},{"file":185,"line":299,"context":270},45,{"file":185,"line":301,"context":270},46,{"file":193,"line":277,"context":270},{"file":193,"line":25,"context":270},{"file":193,"line":305,"context":270},113,{"file":193,"line":307,"context":270},114,{"file":193,"line":309,"context":270},116,{"file":193,"line":311,"context":270},119,{"file":193,"line":313,"context":270},122,{"file":193,"line":315,"context":270},125,{"file":193,"line":317,"context":270},128,{"file":193,"line":319,"context":270},131,{"file":193,"line":321,"context":270},134,{"file":193,"line":323,"context":270},135,{"file":193,"line":325,"context":270},136,{"file":193,"line":327,"context":270},137,{"file":193,"line":329,"context":270},139,{"file":193,"line":331,"context":270},143,{"file":193,"line":331,"context":270},{"file":193,"line":334,"context":270},148,{"file":193,"line":336,"context":270},150,{"file":193,"line":338,"context":270},151,{"file":193,"line":340,"context":270},166,{"file":193,"line":342,"context":270},169,{"file":193,"line":344,"context":270},171,{"file":193,"line":346,"context":270},173,{"file":193,"line":230,"context":270},{"file":193,"line":349,"context":270},187,{"file":193,"line":351,"context":270},188,{"file":193,"line":353,"context":270},206,{"file":193,"line":353,"context":270},{"file":193,"line":356,"context":270},211,6,[],[360,378,387,396],{"entryPoint":361,"graph":362,"unsanitizedCount":376,"severity":377},"profilextra_alterauthor_mbox (alterauthor.php:11)",{"nodes":363,"edges":374},[364,369],{"id":365,"type":366,"label":367,"file":177,"line":368},"n0","source","$_GET (x5)",12,{"id":370,"type":371,"label":372,"file":177,"line":277,"wp_function":373},"n1","sink","echo() [XSS]","echo",[375],{"from":365,"to":370,"sanitized":243},5,"medium",{"entryPoint":379,"graph":380,"unsanitizedCount":83,"severity":377},"profilextra_multiauthor_mbox (multiauthor.php:24)",{"nodes":381,"edges":385},[382,384],{"id":365,"type":366,"label":383,"file":185,"line":286},"$_GET",{"id":370,"type":371,"label":372,"file":185,"line":299,"wp_function":373},[386],{"from":365,"to":370,"sanitized":243},{"entryPoint":388,"graph":389,"unsanitizedCount":13,"severity":395},"\u003Calterauthor> (alterauthor.php:0)",{"nodes":390,"edges":393},[391,392],{"id":365,"type":366,"label":367,"file":177,"line":368},{"id":370,"type":371,"label":372,"file":177,"line":277,"wp_function":373},[394],{"from":365,"to":370,"sanitized":245},"low",{"entryPoint":397,"graph":398,"unsanitizedCount":13,"severity":395},"\u003Cmultiauthor> (multiauthor.php:0)",{"nodes":399,"edges":402},[400,401],{"id":365,"type":366,"label":383,"file":185,"line":286},{"id":370,"type":371,"label":372,"file":185,"line":299,"wp_function":373},[403],{"from":365,"to":370,"sanitized":245},{"summary":405,"deductions":406},"The 'profile-xtra' plugin version 2.2.2 demonstrates a generally good security posture, with a small attack surface and no recorded vulnerabilities.  The static analysis indicates that all identified entry points (AJAX handlers and shortcodes) have implemented authorization checks, which is a positive sign of adherence to security best practices.  The presence of nonce checks and capability checks further reinforces this. However, there are areas for improvement. A significant concern is the low percentage of properly escaped output (only 16%), which poses a risk of Cross-Site Scripting (XSS) vulnerabilities. Additionally, while most SQL queries use prepared statements, 40% not doing so could still lead to SQL injection risks in those specific instances. The taint analysis revealing unsanitized paths, even if not classified as critical or high, warrants attention as these could potentially be exploited.",[407,409,411],{"reason":408,"points":178},"Low percentage of properly escaped output",{"reason":410,"points":376},"SQL queries not using prepared statements",{"reason":412,"points":376},"Unsanitized paths in taint analysis","2026-03-17T00:57:57.340Z",{"wat":415,"direct":428},{"assetPaths":416,"generatorPatterns":421,"scriptPaths":422,"versionParams":423},[417,418,419,420],"\u002Fwp-content\u002Fplugins\u002Fprofile-xtra\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fprofile-xtra\u002Fjs\u002Fprofilextra.js","\u002Fwp-content\u002Fplugins\u002Fprofile-xtra\u002Fjs\u002Fbackend.js","\u002Fwp-content\u002Fplugins\u002Fprofile-xtra\u002Fcss\u002Fadmin_style.css",[],[],[424,425,426,427],"profilextra_style","profilextra_js","backend_js","profilextra_admin_style",{"cssClasses":429,"htmlComments":431,"htmlAttributes":432,"restEndpoints":435,"jsGlobals":436,"shortcodeOutput":437},[430],"etal",[],[433,434],"profilextra_imgsrc","profilextra_avatar",[],[],[]]