[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fvC3H3I6VowTMfByJCCXMw9NhHnazBr0nMxXrCZNQ7oE":3,"$f6nwswS_usi0gCDe69w7fhSPZK1m5yAy2evE3bcP_iHM":241,"$fj3VM6SUa02PAvHHrVywcpdVRYssmkp4dqRsBlyC-rHI":246},{"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,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":38,"analysis":148,"fingerprints":224},"whereami","Where Am I","1.0","BjornW","https:\u002F\u002Fprofiles.wordpress.org\u002Fbjornw\u002F","\u003Cp>Adds a HTML comment in the head on the front-end with current server name and address.\u003C\u002Fp>\n\u003Ch4>Description\u003C\u002Fh4>\n\u003Cp>=\u003C\u002Fp>\n\u003Cp>Where Am I is a tiny WordPress plugin which adds a HTML comment in the head tag, using \u003Ca href=\"https:\u002F\u002Fcore.trac.wordpress.org\u002Fbrowser\u002Ftags\u002F4.4\u002Fsrc\u002Fwp-includes\u002Fgeneral-template.php#L2432\" rel=\"nofollow ugc\">\u003Ccode>wp_head\u003C\u002Fcode>\u003C\u002Fa> on the front-end with current server name and address.\u003Cbr \u002F>\nUseful for debugging multi-server, loadbalanced servers\u003C\u002Fp>\n\u003Ch3>Notes\u003C\u002Fh3>\n\u003Cp>NB: Make sure the theme you’re using is using the wp_head() function otherwise there will be no html comment visible.\u003C\u002Fp>\n\u003Cp>Credits:\u003C\u002Fp>\n\u003Cp>‘To decide’ icon used in the WordPress plugin repository and found in \u002Fassets\u003Cbr \u002F>\nfrom the series \u003Ca href=\"http:\u002F\u002Fwww.toicon.com\u002Fseries\u002Ffeather\" rel=\"nofollow ugc\">‘Feather’\u003C\u002Fa> By \u003Ca href=\"http:\u002F\u002Fwww.toicon.com\u002Fauthors\u002F1\" rel=\"nofollow ugc\">Shannon E Thomas\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Thanks Shannon E Thomas and to[icon] for sharing your work!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.flickr.com\u002Fphotos\u002F126377022@N07\u002F14566683550\u002F\" rel=\"nofollow ugc\">‘Image from page 7 of “Adrift in the wilds; or, The adventures of two shipwrecked boys” (1887)’\u003C\u002Fa> used as banner in the WordPress plugin repository\u003C\u002Fp>\n\u003Cp>Original caption:\u003Cbr \u002F>\nImage from page 7 of “Adrift in the wilds; or, The adventures of two shipwrecked boys” (1887)\u003C\u002Fp>\n\u003Cp>Identifier: adriftinwildsora00elli\u003Cbr \u002F>\nTitle: Adrift in the wilds; or, The adventures of two shipwrecked boys\u003Cbr \u002F>\nYear: 1887 (1880s)\u003Cbr \u002F>\nAuthors: Ellis, Edward Sylvester, 1840-1916\u003Cbr \u002F>\nSubjects:\u003Cbr \u002F>\nPublisher: New York, A. L. Burt\u003Cbr \u002F>\nContributing Library: New York Public Library\u003Cbr \u002F>\nDigitizing Sponsor: MSN\u003C\u002Fp>\n\u003Cp>View Book Page: \u003Ca href=\"https:\u002F\u002Farchive.org\u002Fstream\u002Fadriftinwildsora00elli\u002Fadriftinwildsora00elli#page\u002Fn7\u002Fmode\u002F1up\" rel=\"nofollow ugc\">‘Book Viewer’\u003C\u002Fa>\u003Cbr \u002F>\nAbout This Book: \u003Ca href=\"https:\u002F\u002Farchive.org\u002Fdetails\u002Fadriftinwildsora00elli\" rel=\"nofollow ugc\">‘Catalog Entry’\u003C\u002Fa>\u003Cbr \u002F>\nView All Images: \u003Ca href=\"https:\u002F\u002Fwww.flickr.com\u002Fphotos\u002Finternetarchivebookimages\u002Ftags\u002Fbookidadriftinwildsora00elli\" rel=\"nofollow ugc\">‘All Images From Book’\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Click here to view book online to see this illustration in context in a browseable online version of this book.\u003C\u002Fp>\n\u003Cp>Text Appearing Before Image:\u003C\u002Fp>\n\u003Cp>Text Appearing After Image:\u003Cbr \u002F>\n    May the good Loud pkksarve us 1 them are Tnjuxs. said Ttm.* Adrift in tlie Wilds; OR, Ik ikwkm of Two SliipwrecW Bojs, By EDWARD S. ELLIS. ILLUSTRATED. .e>adriftinwildsora00elli\u003C\u002Fp>\n\u003Cp>Note About Images\u003Cbr \u002F>\nPlease note that these images are extracted from scanned page images that may have been digitally enhanced for readability – coloration and appearance of these illustrations may not perfectly resemble the original work.\u003C\u002Fp>\n\u003Cp>Thanks Internet Archive and Flickr Commons\u003C\u002Fp>\n","Adds a HTML comment in the head on the front-end with current server name and address. Description = Where Am I is a tiny WordPress plugin which ad &hellip;",40,1457,0,"2015-12-28T13:24:00.000Z","4.8.28","1.2.0","",[19,20,21,22,23],"debugging","development","loadbalancer","mu","multisite","http:\u002F\u002Fwww.burobjorn.nl","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwhereami.zip",85,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":26,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"bjornw",8,10390,30,84,"2026-05-20T01:10:31.942Z",[39,59,78,104,125],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":35,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":17,"tags":53,"homepage":56,"download_link":57,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":58},"suicide","Suicide","2.0","Justin Watt","https:\u002F\u002Fprofiles.wordpress.org\u002Fjustincwatt\u002F","\u003Cp>Removes all the content from your blog’s database on a per table basis.\u003C\u002Fp>\n\u003Cp>To use simply install and visit the Tools > Suicide page.\u003C\u002Fp>\n\u003Cp>For multisite installs of WordPress visit Network Admin > Sites > Network Suicide to choose which sites you would like to remove content from.\u003C\u002Fp>\n\u003Cp>If you’re interested in contributing to the code behind this plugin, it’s also hosted on GitHub:\u003Cbr \u002F>\nhttps:\u002F\u002Fgithub.com\u002Fjustincwatt\u002Fwp-suicide\u003C\u002Fp>\n","Remove all content from your blog's database (by table). Multisite compatible.",17107,74,3,"2014-05-21T05:42:00.000Z","3.9.40","3.0",[54,20,23,55,40],"database","remove-content","http:\u002F\u002Fjustinsomnia.org\u002F2006\u002F04\u002Fwordpress-suicide\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsuicide.zip","2026-04-06T09:54:40.288Z",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":13,"num_ratings":13,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":17,"tags":72,"homepage":76,"download_link":77,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":58},"cpd-journals","CPD-Journals","0.3","saulcoz","https:\u002F\u002Fprofiles.wordpress.org\u002Fsaulcoz\u002F","\u003Cp>This is a plug-in to manage and support cohorts of people through a continuous professional development process by providing a platform for them to keep journals of their CPD activities.  By providing a journal, participants in the CPD programme are encouraged to reflect on the things they are learning and to share their eperience and practice with others.\u003C\u002Fp>\n\u003Cp>It turns a standard WP Multisite install into a network of participants and supervisors (new user roles).  Each participant has their own journal blog that they can administer with all of the capabilities of an admin except for:\u003Cbr \u002F>\n*   they cannot add, remove or edit any other administrators\u003Cbr \u002F>\n*   they cannot edit or remove the posts or pages of other users\u003C\u002Fp>\n\u003Cp>Supervisors have all the rights of an administrator except the ability to add\u002Fedit other administrators. They are also provided with additional dashboard widgets to show them which of their assigned participants have posted recent and most frequently.\u003C\u002Fp>\n\u003Cp>The network administrator has full site-admin permissions and is responsible for adding new participants and assigning them to supervisors. The network admin is sent an email at 2am each morning informing them is any participants are not assigned a supervisors or vice versa.\u003C\u002Fp>\n\u003Ch4>Documentation for Network Administrators\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Adding Participants and Supervisors\u003Cbr \u002F>\nYou can add Participants and Supervisors like any other users, but after adding the new user you are taken to the new user’s profile where you are able to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>set them as a Participant or a Supervisor\u003C\u002Fli>\n\u003Cli>create a new journal (if they are a Participant). It is possible for Participants to share a journal. \u003C\u002Fli>\n\u003Cli>assign them a Supervisor (if they are a Participant). It is possible to assign more than one Supervisor to a Participant.\u003C\u002Fli>\n\u003Cli>assign them one or more Participants (if they are a Supervisor).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Editing and deleting Participants and Supervisors\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Deleting a Participant will \u003Cstrong>not\u003C\u002Fstrong> delete their journal, just remove their ability to edit it. If you need to delete a journal, delete both the user and the site associated with that Participant.\u003C\u002Fli>\n\u003Cli>Editing and updating a Supervisor user profile will restore that Supervisor’s permissions on their Participants’ journals.  This is useful if another Supervisor (or site-admin) accidentally removes a Supervisor.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Participant activity\u003Cbr \u002F>\nThere are 2 additional dashboard widgets available to allow Administrators and Supervisors to monitor Participant activity (and to identify where to provide support and encouragement).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Posts by Week shows a graph of how many posts have been created in the past few weeks. Each week bar can be interogated to reveal what was posted in that week.\u003C\u002Fli>\n\u003Cli>Posts by user shows a graph most\u002Fleast active users. Again each graph bar can be interogated to show what has been posted by that user.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Orphaned Participants and redundant Supervisors\u003Cbr \u002F>\nAnother dashboard widget shows a list of Participants who do not have Supervisors assigned to them and any Supervisors with no Paticipants to look after. This information is also emailed to the Site Administrator each night at 2am.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Settings\u003Cbr \u002F>\nAt present the only configuration option available for the CPD journals plugin is the default options for new journal\u002Fblogs. These options are passed to the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FWPMU_Functions\u002Fwpmu_create_blog\" rel=\"nofollow ugc\">function wpmu_create_blog\u003C\u002Fa> as the $meta paratmeter when new journals are created. This allows the site-admin to set defaults such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>stylesheet=my_journal_stylesheet (to set a default child-theme)\u003C\u002Fli>\n\u003Cli>comment_whitelist=0 (to turn off comment moderation – as all commenting is restricted to CPD users anyway)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Themes and plugins\u003Cbr \u002F>\nThe Site Administrator can install and enable any standard WordPress themes and plugins.  However, care should be taken to ensure that themes\u002Fplugins that allow abitrary PHP code to be inserted and run by Participants (or Supervisors).  Providing a wide variety of configuratable themes to allow Participants to personalise thir journals and feel more ownership over them.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The default blog\u003Cbr \u002F>\nEvery new user (Participants, Supervisors or standard WordPress users) get subscriber access to the default site blog.  This allows the default blog to be used to keep all users upto date with what is happening on the platform as a whole or news about the CPD programme itself.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation for Supervisors\u003C\u002Fh4>\n\u003Cp>A Supervisor is essentially an administrator for a standard WordPress site. This allows them to do all the things that the Network Administrator allows them to, generally this includes:\u003Cbr \u002F>\n*   adding, removing and editing users’ profiles\u003Cbr \u002F>\n*   creating, editing and deleting all posts and pages\u003Cbr \u002F>\n*   activating and configuring plugins and themes (but not installing)\u003Cbr \u002F>\nAs this is all standard WordPress functionality, help, advice and support can be found on the \u003Ca href=\"http:\u002F\u002Fwordpress.org\" rel=\"ugc\">WordPress.org\u003C\u002Fa> documentation and support community.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Monitoring Participant activity\u003Cbr \u002F>\nParticipant activity should be regularly and frequently monitored to ensure that those who are active are recognised and rewarded with feedback and those who are not engaging are encouraged with advice and support. There are 2 additional dashboard widgets available to allow Supervisors to monitor Participant activity (and to identify where to provide support and encouragement).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Posts by Week shows a graph of how many posts have been created in the past few weeks. Each week bar can be interogated to reveal what was posted in that week.\u003C\u002Fli>\n\u003Cli>Posts by user shows a graph most\u002Fleast active users. Again each graph bar can be interogated to show what has been posted by that user.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation for Participants\u003C\u002Fh4>\n\u003Cp>Participants are administrators of their own journal and have all of the standard permissions that a WordPress Admin has, except:\u003Cbr \u002F>\n*   They cannot edit or delete the posts or pages of other users\u003Cbr \u002F>\n*   They cannot edit the profile or users who are Supervisors or Administrators. Nor can they create new users in these roles.\u003Cbr \u002F>\nFor help and advice on how to use WordPress to write and share CPD journals, refer to the \u003Ca href=\"http:\u002F\u002Fwordpress.org\" rel=\"ugc\">WordPress.org\u003C\u002Fa> support community.\u003C\u002Fp>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>This plugin was developed by \u003Ca href=\"http:\u002F\u002Fsaulcozens.co.uk\" rel=\"nofollow ugc\">Saul Cozens\u003C\u002Fa> of \u003Ca href=\"http:\u002F\u002Fczndigital.com\" rel=\"nofollow ugc\">CZN Digital\u003C\u002Fa>, but was paid for by \u003Ca href=\"http:\u002F\u002Fshef.ac.uk\" rel=\"nofollow ugc\">Sheffield University\u003C\u002Fa> who requested that it be written to be useful to other organisations as well and released to the community as Open Source. Thank you to them.\u003C\u002Fp>\n","Turns a WordPress Multisite installation into a CPD (Continuous Professional Development) journal platform.",10,1905,"2014-06-10T11:39:00.000Z","3.6.1","3.4",[73,74,23,75],"continual-professional-development","cpd","network","http:\u002F\u002Fczndigital.com\u002Fwp\u002Fcpd-journals","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcpd-journals.zip",{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":86,"downloaded":87,"rating":88,"num_ratings":89,"last_updated":90,"tested_up_to":91,"requires_at_least":92,"requires_php":93,"tags":94,"homepage":99,"download_link":100,"security_score":101,"vuln_count":102,"unpatched_count":13,"last_vuln_date":103,"fetched_at":28},"code-snippets","Code Snippets","3.9.5","Code Snippets Pro","https:\u002F\u002Fprofiles.wordpress.org\u002Fcodesnippetspro\u002F","\u003Cp>\u003Cstrong>✂ Code Snippets\u003C\u002Fstrong> provides an effortless way to enhance your WordPress site.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🚀 Upgrade to Code Snippets Pro\u003C\u002Fstrong> for complete CSS, JavaScript, Gutenberg, Elementor and cloud synchronisation integrations. \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fcodesnippets.pro\u002Fpricing\" rel=\"nofollow ugc\">Elevate your snippets experience now!\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Say goodbye to the hassle of tweaking your theme’s \u003Ccode>functions.php\u003C\u002Fcode> file and downloading endless plugins – Code Snippets simplifies the process!\u003C\u002Fp>\n\u003Cp>A snippet is like a mini-plugin for your WordPress site, providing added functionality without the clutter.\u003C\u002Fp>\n\u003Cp>Unlike other solutions that involve dumping code into your \u003Ccode>functions.php\u003C\u002Fcode> file, Code Snippets offers an intuitive graphical interface for seamless integration and real-time execution. Managing snippets is as easy as activating and deactivating plugins, only without the bloat and overhead.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎥 Watch a quick overview by Imran Siddiq:\u003C\u002Fstrong>\u003C\u002Fp>\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\u002FuzND-wdSCMQ?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>☁️ Each copy of Code Snippets includes full integration with the community-powered \u003Ca href=\"https:\u002F\u002Fcodesnippets.cloud\u002F\" rel=\"nofollow ugc\">Code Snippets Cloud\u003C\u002Fa> platform, providing easy access to hundreds of tweaks and enhancements ready to power-up any WordPress site.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🌐 Connect with us:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fcode-snippets\" rel=\"ugc\">Support Forum\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ffacebook.com\u002Fgroups\u002Fcodesnippetsplugin\" rel=\"nofollow ugc\">Facebook Community\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsnipco.de\u002Fdiscord\" rel=\"nofollow ugc\">Discord Community\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcodesnippetspro\u002Fcode-snippets\" rel=\"nofollow ugc\">GitHub Repository\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>🌟 Like our plugin? Find it useful? Please consider sharing your experience by \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fcode-snippets\" rel=\"ugc\">leaving a review on WordPress.org\u003C\u002Fa>. Your feedback is instrumental to shaping our future growth!\u003C\u002Fp>\n\u003Cp>🌍 We’d like to thank the wonderful people who have helped contribute translations to allow Code Snippets to be used in different languages. \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcodesnippetspro\u002Fcode-snippets\u002Fblob\u002Fcore\u002FCREDITS.md#translators\" rel=\"nofollow ugc\">You can find a full list here\u003C\u002Fa>.\u003C\u002Fp>\n","An easy, clean and simple way to enhance your site with code snippets.",1000000,19853887,94,498,"2026-02-05T11:03:00.000Z","6.9.4","5.0","7.4",[95,96,23,97,98],"code","css","php","snippets","https:\u002F\u002Fcodesnippets.pro","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcode-snippets.3.9.5.zip",89,7,"2026-02-05 19:33:02",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":91,"requires_at_least":117,"requires_php":93,"tags":118,"homepage":122,"download_link":123,"security_score":124,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"user-switching","User Switching","1.11.2","John Blackbourn","https:\u002F\u002Fprofiles.wordpress.org\u002Fjohnbillion\u002F","\u003Cp>This plugin allows you to quickly swap between user accounts in WordPress at the click of a button. You’ll be instantly logged out and logged in as your desired user. This is handy for helping customers on WooCommerce sites, membership sites, testing environments, or for any site where administrators need to switch between multiple accounts.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Switch user: Instantly switch to any user account from the \u003Cem>Users\u003C\u002Fem> screen.\u003C\u002Fli>\n\u003Cli>Switch back: Instantly switch back to your originating account.\u003C\u002Fli>\n\u003Cli>Switch off: Log out of your account but retain the ability to instantly switch back in again.\u003C\u002Fli>\n\u003Cli>Compatible with Multisite, WooCommerce, BuddyPress, and bbPress.\u003C\u002Fli>\n\u003Cli>Compatible with most membership and user management plugins.\u003C\u002Fli>\n\u003Cli>Compatible with most two-factor authentication solutions (see the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fuser-switching\u002Ffaq\u002F\" rel=\"ugc\">FAQ\u003C\u002Fa> for more info).\u003C\u002Fli>\n\u003Cli>Approved for use on enterprise-grade WordPress platforms such as \u003Ca href=\"https:\u002F\u002Fwww.altis-dxp.com\u002F\" rel=\"nofollow ugc\">Altis\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwpvip.com\u002F\" rel=\"nofollow ugc\">WordPress VIP\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Note: User Switching supports versions of WordPress up to three years old, and PHP version 7.4 or higher.\u003C\u002Fp>\n\u003Ch3>Security\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Only users with the ability to edit other users can switch user accounts. By default this is only Administrators on single site installations, and Super Admins on Multisite installations.\u003C\u002Fli>\n\u003Cli>Passwords are not (and cannot be) revealed.\u003C\u002Fli>\n\u003Cli>Uses the cookie authentication system in WordPress when remembering the account(s) you’ve switched from and when switching back.\u003C\u002Fli>\n\u003Cli>Implements the nonce security system in WordPress, meaning only those who intend to switch users can switch.\u003C\u002Fli>\n\u003Cli>Full support for user session validation where appropriate.\u003C\u002Fli>\n\u003Cli>Full support for HTTPS.\u003C\u002Fli>\n\u003Cli>Backed by \u003Ca href=\"https:\u002F\u002Fpatchstack.com\u002Fdatabase\u002Fvdp\u002Fuser-switching\" rel=\"nofollow ugc\">the Patchstack Vulnerability Disclosure Program\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Visit the \u003Cem>Users\u003C\u002Fem> menu in WordPress and you’ll see a \u003Cem>Switch To\u003C\u002Fem> link in the list of action links for each user.\u003C\u002Fli>\n\u003Cli>Click this and you will immediately switch into that user account.\u003C\u002Fli>\n\u003Cli>You can switch back to your originating account via the \u003Cem>Switch back\u003C\u002Fem> link on each dashboard screen or in your profile menu in the WordPress toolbar.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>See the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fuser-switching\u002Ffaq\u002F\" rel=\"ugc\">FAQ\u003C\u002Fa> for information about the \u003Cem>Switch Off\u003C\u002Fem> feature.\u003C\u002Fp>\n\u003Ch3>Other Plugins\u003C\u002Fh3>\n\u003Cp>I maintain several other plugins for developers. Check them out:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fquery-monitor\u002F\" rel=\"ugc\">Query Monitor\u003C\u002Fa> is the developer tools panel for WordPress\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-crontrol\u002F\" rel=\"ugc\">WP Crontrol\u003C\u002Fa> lets you view and control what’s happening in the WP-Cron system\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Statement\u003C\u002Fh3>\n\u003Cp>User Switching does not send data to any third party, nor does it include any third party resources, nor will it ever do so.\u003C\u002Fp>\n\u003Cp>User Switching makes use of browser cookies in order to allow users to switch to another account. Its cookies operate using the same mechanism as the authentication cookies in WordPress core, which means their values contain the user’s \u003Ccode>user_login\u003C\u002Fcode> field in plain text which should be treated as potentially personally identifiable information (PII) for privacy and regulatory reasons (GDPR, CCPA, etc). The names of the cookies are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>wordpress_user_sw_{COOKIEHASH}\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wordpress_user_sw_secure_{COOKIEHASH}\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wordpress_user_sw_olduser_{COOKIEHASH}\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See also the FAQ for some questions relating to privacy and safety when switching between users.\u003C\u002Fp>\n\u003Ch3>Accessibility Statement\u003C\u002Fh3>\n\u003Cp>User Switching aims to be fully accessible to all of its users. It implements best practices for web accessibility, outputs semantic and structured markup, adheres to the default styles and accessibility guidelines of WordPress, uses the accessibility APIs provided by WordPress and web browsers where appropriate, and is fully accessible via keyboard.\u003C\u002Fp>\n\u003Cp>User Switching should adhere to Web Content Accessibility Guidelines (WCAG) 2.0 at level AA when used with a recent version of WordPress where its admin area itself adheres to these guidelines. If you’ve experienced or identified an accessibility issue in User Switching, please open a thread in \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fuser-switching\u002F\" rel=\"ugc\">the User Switching plugin support forum\u003C\u002Fa> and I’ll address it swiftly.\u003C\u002Fp>\n","Instant switching between user accounts in WordPress and WooCommerce.",200000,5569897,98,238,"2026-02-27T00:17:00.000Z","6.1",[119,23,105,120,121],"fast-user-switching","users","woocommerce","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fuser-switching\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fuser-switching.1.11.2.zip",100,{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":133,"downloaded":134,"rating":88,"num_ratings":135,"last_updated":136,"tested_up_to":91,"requires_at_least":137,"requires_php":93,"tags":138,"homepage":144,"download_link":145,"security_score":124,"vuln_count":146,"unpatched_count":13,"last_vuln_date":147,"fetched_at":28},"safe-redirect-manager","Safe Redirect Manager","2.2.2","10up","https:\u002F\u002Fprofiles.wordpress.org\u002F10up\u002F","\u003Cp>Safely manage your site’s redirects the WordPress way. There are many redirect plugins available. Most of them store redirects in the options table or in custom tables. Most of them provide tons of unnecessary options. Some of them have serious performance implications (404 error logging). Safe Redirect Manager stores redirects as Custom Post Types. This makes your data portable and your website scalable. Safe Redirect Manager is built to handle enterprise level traffic and is used on major publishing websites. The plugin comes with only what you need following the WordPress mantra, decisions not options. Actions and filters make the plugin very extensible.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002F10up\u002Fsafe-redirect-manager\" rel=\"nofollow ugc\">Fork the plugin on GitHub.\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Configuration\u003C\u002Fh3>\n\u003Cp>There are no overarching settings for this plugin. To manage redirects, navigate to the administration panel (“Tools” > “Safe Redirect Manager”).\u003C\u002Fp>\n\u003Cp>Each redirect contains a few fields that you can utilize:\u003C\u002Fp>\n\u003Ch3>“Redirect From”\u003C\u002Fh3>\n\u003Cp>This should be a path relative to the root of your WordPress installation. When someone visits your site with a path that matches this one, a redirect will occur. If your site is located at \u003Ccode>http:\u002F\u002Fexample.com\u002Fwp\u002F\u003C\u002Fcode> and you wanted to redirect \u003Ccode>http:\u002F\u002Fexample.com\u002Fwp\u002Fabout\u003C\u002Fcode> to \u003Ccode>http:\u002F\u002Fexample.com\u003C\u002Fcode>, your “Redirect From” would be \u003Ccode>\u002Fabout\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Clicking the “Enable Regex” checkbox allows you to use regular expressions in your path. There are many \u003Ca href=\"http:\u002F\u002Fwww.regular-expressions.info\" rel=\"nofollow ugc\">great tutorials\u003C\u002Fa> on regular expressions.\u003C\u002Fp>\n\u003Cp>You can also use wildcards in your “Redirect From” paths. By adding an \u003Ccode>*\u003C\u002Fcode> at the end of a URL, your redirect will match any request that starts with your “Redirect From”. Wildcards support replacements. This means if you have a wildcard in your from path that matches a string, you can have that string replace a wildcard character in your “Redirect To” path. For example, if your “Redirect From” is \u003Ccode>\u002Ftest\u002F*\u003C\u002Fcode>, your “Redirect To” is \u003Ccode>http:\u002F\u002Fgoogle.com\u002F*\u003C\u002Fcode>, and the requested path is \u003Ccode>\u002Ftest\u002Fstring\u003C\u002Fcode>, the user would be redirect to \u003Ccode>http:\u002F\u002Fgoogle.com\u002Fstring\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>“Redirect To”\u003C\u002Fh3>\n\u003Cp>This should be a path (i.e. \u003Ccode>\u002Ftest\u003C\u002Fcode>) or a URL (i.e. \u003Ccode>http:\u002F\u002Fexample.com\u002Fwp\u002Ftest\u003C\u002Fcode>). If a requested path matches “Redirect From”, they will be redirected here. “Redirect To” supports wildcard and regular expression replacements.\u003C\u002Fp>\n\u003Ch3>“HTTP Status Code”\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.w3.org\u002FProtocols\u002Frfc2616\u002Frfc2616-sec10.html\" rel=\"nofollow ugc\">HTTP status codes\u003C\u002Fa> are numbers that contain information about a request (i.e. whether it was successful, unauthorized, not found, etc). You should almost always use either 302 (temporarily moved) or 301 (permanently moved).\u003C\u002Fp>\n\u003Cp>\u003Cem>Note:\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Redirects are cached using the Transients API. Cache busts occur when redirects are added, updated, and deleted so you shouldn’t be serving stale redirects.\u003C\u002Fli>\n\u003Cli>By default the plugin only allows at most 1000 redirects to prevent performance issues. There is a filter \u003Ccode>srm_max_redirects\u003C\u002Fcode> that you can utilize to up this number.\u003C\u002Fli>\n\u003Cli>“Redirect From” and requested paths are case insensitive by default.\u003C\u002Fli>\n\u003Cli>Developers can use \u003Ccode>srm_additional_status_codes\u003C\u002Fcode> filter to add status codes if needed.\u003C\u002Fli>\n\u003Cli>Rules set with 403 and 410 status codes are handled by applying the HTTP status code and render the default WordPress \u003Ccode>wp_die\u003C\u002Fcode> screen with an optional message.\u003C\u002Fli>\n\u003Cli>Rules set with a 404 status code will apply the status code and render the 404 template.\u003C\u002Fli>\n\u003Cli>Browsers heavily cache 301 (permanently moved) redirects. It’s recommended to test your permanent redirects using the 302 (temporarily moved) status code before changing them to 301 permanently moved.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Developer Documentation\u003C\u002Fh3>\n\u003Cp>Safe Redirect Manager includes a number of actions and filters developers can make use of. These are documented on the \u003Ca href=\"http:\u002F\u002F10up.github.io\u002Fsafe-redirect-manager\u002F\" rel=\"nofollow ugc\">Safe Redirect Manager developer documentation\u003C\u002Fa> micro-site.\u003C\u002Fp>\n","Safely manage your website's HTTP redirects.",40000,1943909,78,"2026-01-04T21:19:00.000Z","6.5",[139,140,141,142,143],"http-redirects","multisite-redirects","redirect-manager","safe-http-redirection","url-redirection","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsafe-redirect-manager","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsafe-redirect-manager.2.2.2.zip",1,"2022-06-19 00:00:00",{"attackSurface":149,"codeSignals":161,"taintFlows":174,"riskAssessment":210,"analyzedAt":223},{"hooks":150,"ajaxHandlers":157,"restRoutes":158,"shortcodes":159,"cronEvents":160,"entryPointCount":13,"unprotectedCount":13},[151],{"type":152,"name":153,"callback":154,"file":155,"line":156},"action","wp_head","tell_me_where_am_i","where-am-i.php",33,[],[],[],[],{"dangerousFunctions":162,"sqlUsage":163,"outputEscaping":165,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":173},[],{"prepared":13,"raw":13,"locations":164},[],{"escaped":13,"rawEcho":166,"locations":167},2,[168,171],{"file":155,"line":169,"context":170},38,"raw output",{"file":155,"line":172,"context":170},39,[],[175,198],{"entryPoint":176,"graph":177,"unsanitizedCount":166,"severity":197},"tell_me_where_am_i (where-am-i.php:36)",{"nodes":178,"edges":193},[179,183,188,191],{"id":180,"type":181,"label":182,"file":155,"line":169},"n0","source","$_SERVER['SERVER_ADDR']",{"id":184,"type":185,"label":186,"file":155,"line":169,"wp_function":187},"n1","sink","echo() [XSS]","echo",{"id":189,"type":181,"label":190,"file":155,"line":172},"n2","$_SERVER['SERVER_NAME']",{"id":192,"type":185,"label":186,"file":155,"line":172,"wp_function":187},"n3",[194,196],{"from":180,"to":184,"sanitized":195},false,{"from":189,"to":192,"sanitized":195},"medium",{"entryPoint":199,"graph":200,"unsanitizedCount":166,"severity":209},"\u003Cwhere-am-i> (where-am-i.php:0)",{"nodes":201,"edges":206},[202,203,204,205],{"id":180,"type":181,"label":182,"file":155,"line":169},{"id":184,"type":185,"label":186,"file":155,"line":169,"wp_function":187},{"id":189,"type":181,"label":190,"file":155,"line":172},{"id":192,"type":185,"label":186,"file":155,"line":172,"wp_function":187},[207,208],{"from":180,"to":184,"sanitized":195},{"from":189,"to":192,"sanitized":195},"low",{"summary":211,"deductions":212},"The \"whereami\" v1.0 plugin exhibits a generally good security posture based on the provided static analysis.  It boasts no identified attack surface points (AJAX, REST API, shortcodes, cron), no dangerous functions, no direct SQL queries (all use prepared statements), no file operations, and no external HTTP requests.  Furthermore, there's no recorded vulnerability history, suggesting a lack of publicly known issues. This indicates that the developers have taken steps to implement secure coding practices in these areas.\n\nHowever, a significant concern arises from the output escaping analysis. 100% of outputs are unescaped, meaning any data rendered by the plugin is potentially vulnerable to Cross-Site Scripting (XSS) attacks. The taint analysis, while reporting no critical or high-severity flows, does highlight two flows with unsanitized paths. While these may not have escalated to critical issues in this analysis, they represent potential vectors for further exploitation if not properly handled. The absence of nonce and capability checks on potential (though currently none identified) entry points also leaves a theoretical gap in securing future additions or if the attack surface expands.\n\nIn conclusion, the \"whereami\" plugin demonstrates strengths in its minimal attack surface and use of prepared statements. The primary weakness lies in the complete lack of output escaping, presenting a clear XSS risk. The presence of unsanitized paths in taint analysis, although not rated as critical, warrants attention. The absence of historical vulnerabilities is a positive sign, but it does not negate the immediate risks identified in the code analysis.",[213,216,218,221],{"reason":214,"points":215},"100% of outputs unescaped",16,{"reason":217,"points":33},"Unsanitized paths in taint analysis",{"reason":219,"points":220},"No nonce checks",5,{"reason":222,"points":220},"No capability checks","2026-03-16T22:14:16.942Z",{"wat":225,"direct":230},{"assetPaths":226,"generatorPatterns":227,"scriptPaths":228,"versionParams":229},[],[],[],[],{"cssClasses":231,"htmlComments":232,"htmlAttributes":237,"restEndpoints":238,"jsGlobals":239,"shortcodeOutput":240},[],[233,234,235,236,235],"\u003C!-- WHERE AM I? -->","\u003C!-- IP: ","-->","\u003C!-- SERVER NAME: ",[],[],[],[],{"error":242,"url":243,"statusCode":244,"statusMessage":245,"message":245},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fwhereami\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":13,"versions":247},[]]