WordPress Users Plugin
Display your WordPress users and their profiles in an index on your site.
Features
- Works with any page on your site.
- Supports Gravatars for profile images.
- Also, supports the “User Photo” plugin for profile images.
- Display users according to roles.
- Add “noindex” to the index pages to prevent search engines from indexing them.
- Plenty of hooks to style your directory yourself with CSS.
- Displays any registered user on your site.
- Works with or without permalinks.
- Displays the date the user joined.
- User links are nofollowed.
- Shows recent posts and comments on the profile page.
Installation
- Download and unzip `wordpress-users.zip.`
- Upload the `wordpress-users` directory to the `/wp-content/plugins/` directory.
- Activate the plugin through the ‘Plugins’ menu in WordPress.
- Create a page through the add new page menu or select and existing page on which to display the user directory and remember the page ID.
- Under ‘Settings,’ click ‘WordPress Users’ and enter the page ID where you want the user directory displayed.
- Modify any of the other settings you want, and click ‘Update Options.’
- Go to the page you selected. You should now have a user directory displaying.
- In your theme, modify your CSS file to change the look and feel of your directory.
- That’s it!
Upgrading to WordPress Users 1.1
- If you are upgrading from a previous version, please check your settings as they have changed.
- Avatar and user description display are now optional, so you must enable them for them to show up.
- Also, user description character limit can now be changed, so check that setting as well.
Download
Download the WordPress Users plugin here.
Support
Comments are closed, but please use the forum for any support requests or discussion.
Changelog
- 1.1
Avatar display and biographical info display are now optional. User description character limit can now be modified. Fixed a bug where draft posts displayed on the profile page. - 1.0
Added support for displaying users according to roles. Fixed conflict with Get Recent Comments plugin. - 0.9
Added support for User Photo plugin profile photos. - 0.2
Code improvements. - 0.1
Dude, you are a frigging lifesaver! Can’t wait to try this out, thanks!
Thanks!
Hi Alex,
Thanks for the plugin. I’m using it on http://2thumbgunslinga.com/?page_id=272&page=1 but it seems to only display my avatar and not the rest of my members.
Looking at the code it is outputting, you’ve modified it somehow. That seems to be what your problem is. For it to work correctly, it needs to be used as-is out of the box.
It works fine and your instructions were very helpfull. Well done!
see: http://belikunst.com/proart/
(To make it a real list I didn’t include the Avatars.)
I’ll keep playing with it. When I added it I also added a few other plugins that I later discovered some issues with. Those issues have been corrected so I’ll work on this again. I don’t remember changing the code but it was a long day. I’ll let you know. Thanks again for the plugin. It is exactly what I’m looking for so I really want it to work.
I would recommend reinstalling and seeing what that does. If it is still messed up, then it is your settings or some other conflict.
Hi, thanks for the plugin.
I just translated it to my language (pt-br), and I’d like to remove the avatars and descriptions from the main listing, so I have only the names on top of each other.
I’d also like to order them by user status (admins on top of editors, and so on), but I’m not sure how to do it looking at the code.
Can you help me with that?
I just released version 1.1. Avatars and descriptions are off by default now.
PS: I’d like to remove the [Page X of Y] in the bottom too, because I’ll always have them all in one page.
One last thing: how can I make the code in my home page link to the author’s listing?
You’re not asking for much are you?
Open up wp-users.php. Take out lines 80-113 to get rid of the pagination at the bottom. To take out the avatars in the listing, delete line 145. To take out the descriptions, delete lines 147-153.
That’s all I can help you with at this time.
Thank you very much for the support!
hi, i want to ask that, how a user can write a comment an other user page? is it posible or how can i do this?
thanks
Look at JS-Kit.com. They provide comment widgets you can drop in onto any web page. I may add support for this in the future, but it would be easy to do it yourself if you want to mess with the code.
thanks again for this great plugin
the only thing i still can’t figure out is how to make the php_the_author code in my home/single pages link to the author’s page.
This plugin seems to do what I want, however triggers a fatal error when used with the Get Recent Comments plugin:
Cannot redeclare get_recent_comments() (previously declared in /wp-content/plugins/wordpress-users/wp-users.php:240) in /wp-content/plugins/get-recent-comments/get-recent-comments.php on line 854
Any ideas how to fix this? It doesn’t matter in which order I activate them, the final one never works.
Scott, I just updated the plugin again, and the conflict with Get Recent Comments should now be resolved.
i wonder how to use it thankx
Thanks a lot Jonathan, I’ll give it a go now.
Hi. I’m using this plugin and I love it, but there’s just one thing that’s bugging me. I want to do the same as Andre, removing the userphoto and description from the memberlist. I know you’ve already answered this question but I can’t for the life of me figure out how to do it D:
I’ve already given instructions here on how to do it. This may be an option in the future but for now you will have to do it yourself.
I just made those off by default now. Download version 1.1.
I have used this plugin successfully on 2 blogs. Went to install it on a 3rd and it doesn’t work. There is no wpu-user code on the page at all.
The page was marked private but I changed it to public and that didn’t help.
This site also uses the Role Manager plugin, which the other two do not. Not sure if there could be a conflict.
Thanks for any advice.
John, I’m not sure how to help. If you think it might be a plugin or theme, deactivate the plugin or theme and see if it works. If you think it might be your version of WordPress, then try upgrading. Sorry, I can’t help more.
Hi!
i seem to have the exact same problem (There is no wpu-user code on the page at all.). Did you find a solution?
cheers!
Claude, are you using the Role Manager plugin? It appears that when you modify the roles plugins that reference the roles will not work. Deactivating the Role Manager will not reset everything to default. It will leave it the last way that you set it. Be aware that there are some things you can do with Role Manager that can’t easily be undone. Only use Role Manager if you need to modify admin level capabilities. If you are trying to control read access, use the User Access Manager plugin instead. Hopefully it’s not too late.
HTH
Hi John!
thanks for your quick reply!
I’m not using Role Manager, but I am using Adminimize and Filosofo Remove Dashboard. But I don’t think that these Plugins cause the problem, cause it worked fine on my computer, but when I uploaded everything to the server there is no wpu-user code on the page at all…
Try deactivating those plugins one at a time and see if it fixes the problem. Either of those could be interpreted as having modified the roles because you are changing what people can normally see. I know that WP Hide Dashboard by Kim Parsell does not conflict with Wordpress Users. I haven’t tested either of the plugins you have mentioned. Another way to hide the back-end is to edit your sidebar code so that the Site Admin link doesn’t show. You can provide a link directly to the profile page instead (at yoursitename.ext/wp-admin/profile.php). If the person is not logged in they will be automatically redirected to the login page. You really don’t need a plugin for this.
p.s. You can also use Peter’s Login Redirect plugin so that after people log in they go to whatever page you want them to, but by default they will be taken to the page they were trying to access, so it’s probably not necessary.
There are other login redirect plugins available, but don’t use Weasel’s Login Redirect because it requires Role Manager to work and you have to modify at least one role to assign the login redirect capability to it before you can set up a redirect.
John
can’t reply under your last comment…
I deactivated both plugins one at a time but it didn’t help …
(
do you have another idea what the problem could be?
cheers!
Try reactivating the plugins and changing the settings back to default. Save the default settings, then deactivate them again. You may also want to try deleting them completely.
Wordpress has a strange way of remembering plugin settings. You can completely delete a plugin from your server, re-install it, activate it, and you’ll find that the settings for the new installation are the same as what your deleted installation was set to do. So, apparently even completely deleting a plugin leaves some data behind. You might be able to clear out that legacy data by optimizing the database with a tool like the WP-DBManager plugin by Lester Chan. That’s a good plugin to have, so it’s worth a try. It’s another plugin that you have to use carefully though, because it allows you to do things like empty and drop tables. You can corrupt your database if you’re not careful with some of those features.
John
I deactivate adminize and it clears the database when deactivating…
Do you think i should do what you have described above with the WordPress Users Plugin?
I have never tested the adminimize plugin so I have to take your word for it, but I tend not to believe that it “clears the database when deactivating”. Like I said you can completely delete a plugin, download a fresh copy, install it, activate it, and you will find that Wordpress has stored your previous settings.
Yes. I think you should try what I suggested. Set everything back to default, save the settings, deactivate them, delete them, then optimize the database.
It also helps to set up a development site where you can test plugins before you install them on your production site. If your host doesn’t have an automatic installer that will let you run multiple installations of Wordpress, you can upload it via FTP and install it manually.
John
p.s. If you use Lester’s DB Manager, check and see if either of those plugins created tables in your database. When you delete a plugin, the tables get left behind. Be very careful about emptying and dropping tables though. If you empty or drop the wrong tables you can have big problems. Make a complete backup first if you are going to try anything like that. Lester’s plugin will store the backups on the server and optionally email them to you. All you have to do is click the backup on the server that you want to restore and your database will be back to the way it was before you removed any data or tables.
John
Adminize has the opportunity to clean the database from all entries of this plugin.
I have development site on my computer and it worked all fine. I also tried the WordPress Users Plugin on another WP installation on the server where my site is and it didn’t work…
Love your plugin, have a look at the page called ‘Our Fellow Divers’. This is a site , just starting but will have many users. How to find a user? scroll through hundreds of users?: How about adding a “search a user” feature? Thanks for the plugin.
Hi,
I’ve installed this mod a few days ago. I’m searching how to add wordpress user in a page, that already has content.
For now, Wordpress Users are added at the begininng of the page, so my content won’t be read. How can I add wordpress user at the end of one of my pages ?
Thanks for your help.
That functionality is not available at this time. I’m not sure that it is possible with current Wordpress functionality. Thanks.
I had the same problem. Not sure if you fixed the issue, but I did. Here’s how I did it.
look for this on lines 31 – 43(ish)
function wpu_get_users($content) {
if(is_page(get_option(‘wpu_page_id’))) {
if(isset($_GET['uid']))
display_user();
else
display_user_list();
}
//display the content
return $content;
}
Change it to read…
function wpu_get_users($content) {
//display the content
echo ” $content “;
if(is_page(get_option(‘wpu_page_id’))) {
if(isset($_GET['uid']))
display_user();
else
display_user_list();
}
}
This should do the job.
Thanks Jonathan,
FYI a somewhat similar (but not really) plugin called Profiler by Eric Schulz is having the same problem w/ user profiles not displaying for Role Manager users. The author says he will work on adding RM support.
BTW you can’t just deactivate RM because it will leave all the roles and capabilities as you last set them. It will not set them back to default. My guess is that the plugin is checking the roles to see which profiles to display and having a problem doing so when the capabilities have been customized.
Just a guess.
John
hi, how can i change user listing by new user? thanks
ismail mert:
Go into Users > Authors & Users to change a user’s profile. What is it you’re trying to change? Maybe you can set it up so that new users are signed up the way you want them to be by default.
Hi! great plugin, thanks! I wonder if there is a way to show FULL user profile with all the extra fields at once, so in the users page which is public on the site they appear with all the info, not just the name and photo.
thanks!
I currently have no plans to add this functionality. Thanks for using the plugin. I’m glad you like it!
nice!
Two things, on the user page Draft posts are showing. Can you update the plugin? Also, used to have role manager plugin, but no longer, and after selecting all user types in settings, some still do not show?
I fixed the bug where draft posts are showing in the latest version, 1.1, available for download now.
I’m using cimy extra fields plugin. Unfortunately wordpress-users and cimmy won’t play well. Basically wordpress users page works correctly, but without avatars or different uploaded avatars in cimy fields. Can you please help me to fix this, maybe a hack in the code or something. Many thanks…
See my earlier reply here.
http://kempwire.com/wordpress/add-a-user-directory-to-your-wordpress-site.html#comment-807
I have no plans to support any other plugins I did not write, at this time. Thanks.
Hi!
thank you for the great plugin!
Is there a way that i can show the posts of the users instead of just showing a link to the recent posts?
cheers!
Hi Claude. I have no plans to do that at the current time. I’m glad you like it!
no problem Jonathan!
i changed the function get_recent_posts a bit and now i have what i want!
cheers!
Is is possible to make a hack to allow ONLY logged in users to see the member profile details pagess.?
So anyone can see the members list, but when they click on any member to view the profile, they must be logged in to see the details, else ‘Please login to view’
thanks.
@carnuke
You can use the User Access Manager plugin so that only registered users can see the pages. You can do this by role or by user name. People who are not assigned access to the pages will get a screen that says whatever you want it to say. You can put login and/or register links on that page.
HTH
Thanks for your comment HTH. Yes I know there are various user permissions plugins. However, I don’t want to protect all of the wordpress-users plugin. ONLY the profile pages that are linked from the user list. That means identifying the section in wordpress-users.php that shows the profile page of each user and putting if ‘is logged_in’ then show profiles; else request user to login. It needs a hack I think to get what I’m after.
User Access Manager lets you define which pages, posts, or categories are assigned to which group or groups. Any page, post, or category that is not assigned to a specific group and is marked Public will be viewable by everyone who visits the site. What you will have to do is expand the list of pages and check off the ones you want assigned to the group. Then only the people in that group will have access to those pages.
It’s not a good idea to modify the plugin. When upgrades are released your mods will be wiped out. Instead use a plugin that is designed to give you the functionality that you want.
HTH means “hope this helps”.
John
Hi John, thanks for the tips. When wp-users links to a member profile page it appends the URL like this ../members/?uid=5 These are the pages I want to block to non-logged in visitors. In effect I would need to tell UA-manger to block all URLs with members /uid=* but not .. /members/ I’m not sure it can do that. Maybe you know otherwise?
Do those UID pages show up on the pages list in User Access Manager? If they do, it will work fine.
Mmm, I don’t know if they show up John… My guess is they are generated dynamically. If they did, I would have to add every user ID manually, which is not really they way to do this. I would need to find a global method such as /?uid=* again I don’t know if this would work. Maybe I’ll give it a try on a test site.
@Claude:
I guess Jonathan has the number of replies that can be threaded set to a fixed number.
I don’t know what you’ve got on your site so I really can’t be of much more help. Are you sure that it stopped working when you activated those two plugins? You can try resetting and deleting more plugins in the order of newest first, then optimize the database and see if it fixes the problem. Do the two installations that it doesn’t work on have any of the same plugins besides WP Users? That would be a good place to start looking. Look for commonalities. That may point you to why they both don’t work.
Also, never activate two plugins at the same time, unless you have already tested them elsewhere and know that everything you’ve got will work together. Any time you activate a plugin, you should test the site for at least 24 hours, making sure everything works before you try another plugin. Otherwise it’s very hard to figure out what caused the problem and how to fix it.
I have WP Users on three sites and the only one it has ever not worked on is one that has the Role Manager installed. Other plugins that reference the roles also do not work on that site. At some point I’m going to have to try to reconfigure the site to use User Access Manager instead of Role Manager. Unfortunately I was only trying to control read access and I didn’t know enough about Role Manager when I did it. I don’t even know if I can undo what I did, but it’s a beta site so the worst case scenario is that I would have to delete the whole thing and start over. Unfortunately it’s for a non-profit organization and I’m doing it for free, so the thought of starting over is not thrilling me. This is the kind of trouble you can get into though with third-party plugins.
John
hi!
i deleted wordpress from the server and everything from the database and installed everything new…the only plugin i have installed now and activated is WordPress Users. After installing it i got the following warning on all pages: Division by zero in …/wp-content/plugins/wordpress-users/wp-users.php on line 111. line 111 is // how many pages we have when using paging?
$maxPage = ceil($user_count/$usersPerPage);
After modifying the options of WordPress Users again no wpu-user code on the page and the warning is gone!
Any idea?
Users shown per page is a setting in the options for this plugin. Division by 0 would indicate you have set this number to 0. You need to set it to something other than 0 for it to work.
i did, but then again no wpu-user code on the page…
If the error went away after you modified your code while users per page was set to zero, I’d say your mod is causing a problem. Try undoing your mod and then setting the users per page to something other than zero and see what happens.
@ John Nasta
i haven’t modified the code i have modified the options of WordPress Users > set the users per page to 21. The the warning is gone but NO wpu-user code on the page! Same Problem as before but no other plugins installed!
i just tried the profiler plugin and had the same problem, no users are shown. So it might not be the plugin but something else?
What page id are you using and are you sure you are looking at the right page? Can you provide a url? How many users do you have? Which users do you have selected? Can you take a screenshot of your settings?
yeah, i’m looking on the right page.
i’ve decided to solve everything with author.php and authors.php and it works fine. so thanks for yor help everybody!
hello, I would like to know if you have anything to link the profile of each user to link the nickname of the person who made a comment or the author of the post for example?. thanks!
Try http://wordpress.org/extend/plugins/author-exposed/ works fine with 2.71
@carnuke
Unfortunately a limitation of the UAM is that you have to select the pages with checkboxes. There may not be a way to do what you want without hiring someone to custom program it. I don’t write plugins but I do manage multiple Wordpress sites and have tested many plugins. Sometimes I try to answer questions here to take some of the burden off of Jonathan. In this case I can not be of any further assistance.
Hi John, thanks for your reply. As I suspected, UAM may not be ideal here. I prefer the hack method, as I am very happy about maintaining my own mods on my sites. I’ll persue the if-else function, as I’m sure this will work once Ive identified where to put it.
Thanks for your support here, I’m sure Johnathan appreciates it as do we all.
I am using this awesome plugin here:
http://backgroundacting.net/members
Problem is, when trying to go to page 2, page 3 etc… of users, there is a redirect to the login page instead.
I set my permalinks back to default and have same problem. Any ideas?
Thanks in advance.
Hi, I am directing all support for this plugin to the recently launched forums. Thanks.
http://kempwire.com/bb/forum/wordpress-users-plugin
Is it possible to use template tags with this plugin? When an author posts on my site, I’d like to be able to link the author’s user ID to the author’s user profile page you’ve created with your plugin. Any help would be greatly appreciated. Thanks!
It’s not possible using any template tags at this time. I suppose you could hard code it though in your theme.
I am the Author avatars plugin installed, the widget and it has an option to link your username to the posts of the author and link to the site. I wanted to put an option to link your username to his profile on WordPress Users, has a feature where I can do this?
To link to your user profile from a post, you need to modify the template. Here is the code.
<a href="/users/?uid=<?php the_author_meta('ID'); ?>">< ?php the_author() ?></a>This requires WordPress 2.8, which you should already be using. Also, make sure the path matches your path to the WordPress Users profile. That’s it.
Hi Jonathan,
Wonderful plugin, something i’ve been looking around.
Can you please let me know exactly in which file and in which line this change has to be done, i’ve been hunting for almost 4-5 hours and unable to figure it out…
Cheers…
Thanks again Jonathan.
It works… except that instead of the author’s name appearing before the blog post the following is displayed instead:
In other words, the blog post is written by with the link going to the author’s Wordpress User page.
Any way to get around this?
Sorry, the code didn’t appear in my reply. Anyway, what I am saying is that the the php code for the_author appears instead of the author’s name. If you try out the code you should see what I mean…
I think its putting spaces in my code above that should not be there. Take out the space in front of the ?php in the author code and it should work. I have tested this code before I posted it here, so I know it works.
Fantastic Jonathan – it works perfectly. Thanks heaps
Hi Jonathan
After excluding unverified users I got another thing to fix: pagination.
Example 50 total users, 15 unverified and I set the max users per page to 10.
I get this: page 1 – 8 users, page 2 – 5 users, and so on. See what i mean? I really would like to have 10 users per page, all of the verified ones.
Tryed to change user_count and a lot of other things but still nothing…
Can you help me with this?
Thanks in advance
compatible WP 2.8.4 ????
Doesn’t work on my site. No members displayed at all on the dedicated page.
What did I do wrong ?
I have no idea.
I tried another plugin, Profiler, and I had the exact same problem, so I guess it’s a problem with my blog, not the plugin
Thank you anyway !
BTW the author of Profiler said about a year ago that he was planning to abandon any further development of the plugin.
Set your site to the Default theme and see if the problem continues. If it does, deactivate all other plugins and check again. You have to track down whether the problem is being caused by your theme, another plugin, or your WP installation itself.
HTH,
John Nasta
hi
how to display member in the home page?
it is a php code to put in template?
thx
thanksagain for this great plugin
Is it possible to add line breaks in the Biographical Info section?
As it is, all content in this field sites on one line, I would like to be able to add breaks so that content can be done in paragraphs etc
Hi! Nice plugin.
Is there a way to get e-mail, first name and last name of the users to show in directory page/profile page? If not this would be a great feature to the plugin. An other feature that would be nice is options to show/or not to show Recent post/recent comments.
Thanks again for a great plugin.
hi, would like to if the images can be displayed also for ‘recent post’ & ‘recent comment’ ? thanks
I am a bit of a newbie at all this. Could you point for me at the exact .css file i need to change to modify the appearence of the Directory page only – i.e. without affecting the design layout of the other pages?
love the plugin, btw.
cheers!
J.
Hi there,
It’s a nice thing oyu have done here. I have searched also other resources and nobody has a solution for expiring user accounts (e.g.: you make it and it expires after 1 year). Do youhave any idea on how this could be done?
All the best
This plugin lets you set when posts expire on a per-user basis:
http://wordpress.org/extend/plugins/access-expiration/
HTH,
John Nasta
Hi there,
I hope Jonathan is not going to get upset for us having this discussion here, but the plugin you suggested has the fallowing issue: if a user does not use his right to see posts for something like a year and the post itself gives access to a year period the right to visualize will dissapear after a year after the first sight.
I hope I made myself understood. This gives more time and is seen from the point of view of posts rather than users.
Mugur
i guess it is not so well tagged since it was in the plugin directory. Thanks a lot.