UserAgent-Spy Wordpress Plugin (English)
Description
UserAgent-Spy is a WordPress plugin which displays the user’s Operative System and Web Browser in the comments. It uses the comment->agent property to access the UserAgent string, and through a series of regular expresions, detects the O.S. and browser. Then it shows a message with an icon of the browser and O.S.
I’m adding new stuff and changing the code frequently. Your feedback is very important, new features have been added by request, so if there’s something you would like to see in UA-Spy, leave a comment, and I’ll see what I can do.
UserAgent Spy was written with Geany
Images created with The Gimp
Screenshot:

UserAgent Spy on WordPress 2.6 default theme
Installation:
- Upload useragent-spy folder to /wp-contents/plugins/
- Login to your WordPress Admin menu, go to Plugins, and activate it.
- In your WordPress Admin menu, you will find a new menu under Settings called UserAgent Spy. There you can choose the displayed icons size, and select where to display the plugin. There are three options for displaying the plugin:
- Before the comment text. User’s WebBrowser and OS will be displayed before comment text.
- After the comment text.User’s WebBrowser and OS will be displayed after comment text.
- Custom (Advanced). You can specify the location using the useragent_spy_custom() function inside the comments loop in your template (Generally in comments.php).
Example:
<?php foreach ($comments as $comment) : ?>
<cite><?php comment_author_link() ?></cite> <?php useragent_spy_custom(); ?> says:<br />
<?php comment_text() ?>
CAUTION: If you select “Custom” and don’t use <?php useragent_spy_custom(); ?> in your template, you won’t get the information displayed.
Features (Check Release Notes below to see new features being added)
- Detects most popular web browsers and Operative Systems (It’s a work in progress, many more browsers/o.s. ’s to come)
- Shows browser icon, name, and a link to the browser’s homepage (this will be customizable in future versions).
- Shows browser/os in the comments management page (unless using “custom” option).
- Customizable, has its own Options Page where you can change the size of the browser/o.s. icon, and where you want it to be displayed.
- Published under GPLv3
Some of you may compare this to another well-known plugin named browsersniff. UserAgent-Spy is written completelly from scratch, with several improvements over browsersniff:
- Easy standard installation, just upload to wp-plugins and activate it.
- Customizable options.
- No basic knowledge of PHP or editing WordPress templates required
- Published under GPLv3.
Release Notes
0.5
* Option to show complete useragent string.
* Went back to useragent_spy_custom() for custom display.
* Several code fixes (W3C valid XHTML, more order, etc).
* Saved settings are displayed correctly on the settings page.
* Added option to display icons only, with no text or link.
* Fixed bugs:
-Epiphany, when built against WebKit would display Safari.
-Major bug which would show ua-spy in your comment management page, instead of comment text when using custom.
0.4.2
* Browser added: Lynx, Links.
* Fixed bug where the comments would show without filters.
* Changed Konqueror icon for new 4.0 version.
0.4.1
* OS added: OLPC XO, SuSE
* Browser added: W3M, Lobo, Amaya, Maxthon, Camino, NetSurf, Minefield, IceApe, SeaMonkey
* Fixed some code (includes a bug where OLPC was detected for certain os’s)
0.4
* Made “browsing with” and “on” words in “Browsing with browser on OS” customizable in the Options page.
* Allow logged in user to see the full user-agent string (easier debugging).
* Fixed string for unidentified browser.
* OS’s added: FreeBSD, OpenBSD, Solaris.
0.3.1
* Added <p> tags for correct formatting
* Added “if” at the options page so that current values are selected on load.
0.3
* More web-browsers: Epiphany, Galeon, Opera, IE.
* O.S.’s: Xubuntu, Kubuntu, Ubuntu, Slackware.
* Added option to choose displaying useragent_spy before or after the comment text, or using useragent_spy() function in template.
0.2
* Detects Firefox, Epiphany.
* Detects Debian, Fedora, Gentoo,
* Options menu under Settings Panel, allows 16×16 or 24×24 pixel images for icon size.
* Integrates into Wordpress before comments text.
0.1
* Detects Mozilla, IceWeasel, IceCat, Arora, Safari, Konqueror.
* Detects Windows, GNU/Linux, iPhone and MacOS
TO-DO:
* Allow users to modify links for each browser/OS.
* New browsers/os’s are welcome.
* Browser versions.
* Links for Operative Systems.
Los contenidos de éste sitio se encuentran publicados bajo
fernando
Julio 29, 2008 a las 8:46 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
You can see the plugin at work right here!
Pablo
Julio 29, 2008 a las 9:01 pmMozilla/5.0 (X11; U; Linux i686; es-AR; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1
Just trying it on Firefox / Ubuntu Linux
francisco
Julio 30, 2008 a las 4:17 amMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0) Gecko/2008061600 SUSE/3.0-0.2 Firefox/3.0
mmmm, nice work
Chip Bennett
Agosto 22, 2008 a las 9:14 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080718 Kubuntu/8.04 (hardy) Firefox/2.0.0.16
I’m a Broswer Sniff user; just testing my Kubuntu/Firefox UA with UA-Spy. I think Browser Sniff uses a lot of memory, so I’m always open to something more lightweight!
fernando
Agosto 22, 2008 a las 9:17 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
Chip:
Hope you like UA-Spy. I’m really open for feature requests, ideas, and opinions.
Tell me if you made the switch!
Regards
Chip Bennett
Agosto 23, 2008 a las 2:15 amMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080718 Kubuntu/8.04 (hardy) Firefox/2.0.0.16
Hola Fernando!
One thing I would *really* like to see, is the ability to display *only* the icons (that is, no text, just icons).
That feature alone would get me to switch in a heartbeat!
I’ve installed the plugin, but haven’t had time to play around with it yet. I’ll try it out shortly, though.
Chip Bennett
Agosto 23, 2008 a las 12:17 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080718 Kubuntu/8.04 (hardy) Firefox/2.0.0.16
Hola Fernando,
I’m trying out the plugin, but have two issues:
1) The images are not displaying. I have the icon size set to 16, but the SRC string being printed by the function is 40 - that is, the function returns an image SRC like *siteurl*/plugins/useragent-spy/image/40/net/firefox.png - and of course, the /image/40/ directory doesn’t exist.
I can’t find anything in the plugin or options files that would be causing this behavior.
(Side note: reading through the code in the plugin’s PHP file, there is a comment that useragent_spy_custom() is deprecated, and that useragent_spy() should be used instead. Your instructions still indicate to use the former function. Both seem to work identically. Which is correct?)
2) Can you add an option *not* to display the full UA string in the comment when logged in as administrator? It breaks my comment layout. (Perhaps add it as hover text, instead?)
Chip Bennett
Agosto 23, 2008 a las 12:47 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080718 Kubuntu/8.04 (hardy) Firefox/2.0.0.16
Another update - I have it working, but with a couple of ugly-hack fixes:
1) I have copied the 16px icons into a “40″ directory, in order to make the SRC printed by the function to be valid.
(Please take a look at the source for one of my posts with comments, in order to see what I’m talking about on this one.)
2) I have commented out the line that prints the UA string if logged in as administrator.
Another thing (though I notice it is commented as “TO DO”) - saved settings are not displayed on the settings page.
fernando
Agosto 23, 2008 a las 6:37 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
Chip:
I’m rolling out 0.5 version of UserAgent-Spy today. It’s a major update, with several fixes, including the option to not display full UA string among others.
I’ll update this page as soon as it’s up.
Thanks for your feedback, the ability to display *only* the icons has been implemented!
Regards
fernando
Agosto 23, 2008 a las 8:43 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
Version 0.5 is out, with some major changes
Chip Bennett
Agosto 24, 2008 a las 2:17 amMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080718 Kubuntu/8.04 (hardy) Firefox/2.0.0.16
I just updated to Version 0.5; great stuff!
I still have the issue, though, of the plugin trying to set the icon IMG SRC as /plugins/useragent-spy/image/40/ directory, when it should be /plugins/useragent-spy/image/16/ (I have the icon size option set to 16.)
Any clue what might be causing that?
Otherwise, everything is great! It displays exactly the way I’ve been wanting it to!
Thanks!
Chip Bennett
Agosto 24, 2008 a las 1:16 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080718 Kubuntu/8.04 (hardy) Firefox/2.0.0.16
Fernando,
Still trying to figure out why UA Spy seems to think that I’m setting the icon size to “40″.
Could it be an issue with the global variable $size? Could something else (perhaps another plugin?) be using the same global variable?
I might try more ugly hacking, and change $size to $uasize, or something, and see if the correct icon size setting gets passed to the function.
Chip Bennett
Agosto 24, 2008 a las 1:22 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080718 Kubuntu/8.04 (hardy) Firefox/2.0.0.16
Fernando,
Changing $size to $uasize seems to have worked.
Now, when I have the setting at “16″, the function correctly links to the 16px icon directory (likewise with the “24″ setting).
(By the way, those 24px icons are gorgeous!)
fernando
Agosto 24, 2008 a las 9:30 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
Chip:
Thanks a lot.
I’ll change the name of the variable for future releases, as it’s pretty generic, and the same problem could happen again. That was my bad. I’ll commit 0.5.1 with that fix, and anyother bug that comes up these days.
Glad you liked the new stuff. Your idea of displaying icons only was great, I’m using it on my blog as well as you can see.
giovanealex
Septiembre 2, 2008 a las 7:46 pmMozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13
Google Chrome, Google’s browser, was just released - it would be nice to see this plugin dectecting it too.
fernando
Septiembre 2, 2008 a las 7:52 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
giovanealex:
Check for an update tonight.
I’ll upload a new version with Chrome detection.
Regards
fernando
Septiembre 3, 2008 a las 12:26 amMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
Done, the plugin now detects Google Chrome.
Your WordPress should ask you to update the plugin soon, since it was just uploaded.
albertux7
Septiembre 3, 2008 a las 4:37 pmOpera/9.52 (X11; Linux i686; U; en)
La version 0.5.1 no contiene imagenes ( el “upgrade automatic” borra la carpeta img/ )
solo basta copiar la carpeta img de la version anterior
Saludos
fernando
Septiembre 3, 2008 a las 8:02 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
Gracias albertux, ya está arriba la versión 0.5.2, con ese bug y otro fix arreglados.
Saludos
Montblanc
Septiembre 14, 2008 a las 10:41 pmMozilla/5.0 (X11; U; Linux i686; it-IT; rv:1.9.0.1) Gecko/2008071611 Iceweasel/3.0.1
Thank you! It works as a charm!
Montblanc
Septiembre 14, 2008 a las 10:44 pmMozilla/5.0 (X11; U; Linux i686; it-IT; rv:1.9.0.1) Gecko/2008071611 Iceweasel/3.0.1
Tried to switch user-agent. Delete this comment if you wish.
Montblanc
Septiembre 14, 2008 a las 10:45 pmMozilla/5.0 (X11; U; Linux i686; it-IT; rv:1.9.0.1) Gecko/2008071611 Iceweasel/3.0.1 (Kubuntu/8.04.1 hardy)
Trying with Kubuntu.
kirksydney
Septiembre 16, 2008 a las 11:22 amMozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b5) Gecko/2008032620 Firefox/3.0b5
Nice work! So easy to install unlike the other plug in that I saw awhile ago. However, I hope you could make it more specific. Meaning what version of browser (eg: Mozilla Firefox 3.0, Internet Explorer 7.0, etc etc.) And what version of OS (eg: Windows XP, Windows Vista, etc etc.)
Just like in this plug in: http://priyadi.net/archives/2005/03/29/wordpress-browser-detection-plugin/
Too bad, the author of that plug in didn’t make easier installation as you did.
Also, please make the icons transparent. It looks awkward on my black background when using Internet Explorer.
Thank you so much.
fernando
Septiembre 16, 2008 a las 6:46 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
kirksydney:
Version numbers will be included in a future release. As soon as I get the time to implement it.
The icons ARE transparent, they are transparent PNG. Internet Explorer doesn’t support transparency for PNGs on version 6, which pretty much sucks, so you just shouldn’t use Internet Explorer, for your own good. And for everyone else’s good. Update your browser.
Thanks!
Regards
kirksydney
Septiembre 19, 2008 a las 2:35 amMozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b5) Gecko/2008032620 Firefox/3.0b5
I hope that “future release” would be anytime soon. Thank you for replying and for this awesome plug in. Looking forward to that update. More power.
By the way, why am i getting this on my previous comments:
Using [Unidentified browser (yet)] Unidentified browser (yet) on [Unknown O.S.] Unknown O.S.
Example link: http://kirksydney.com/2008/09/ang-epektibong-suob/
Please take a look at it.
kirksydney
Septiembre 22, 2008 a las 5:39 amMozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b5) Gecko/2008032620 Firefox/3.0b5
Hi,
What I did instead was I assigned Firefox and Windows as the default browser and OS so I got my problem resolved.
I hope the version numbers coming out very soon, though. ;D
kirksydney
Noviembre 16, 2008 a las 1:15 pmMozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
Just revisiting here to say that I appreciate the little update you did. Although the changes that I can only see is the Internet Explorer version numbers. Hope you could do the same with the rest of the browsers, and with the Operating Systems as well. Thank you so much.
fernando
Noviembre 16, 2008 a las 3:35 pmMozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092816 Iceweasel/3.0.3 (Debian-3.0.3-3)
kirksydney:
Great decision to make Firefox your default web browser.
Other browsers and O.S.’s versions will be included too. I just need some time to dedicate to my other WordPress Plugin which hasn’t been updated for a while.
Thanks for using UserAgent-Spy.
kirksydney
Noviembre 18, 2008 a las 3:05 pmMozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
Great! I’ll look forward to that.