I'm building a site for a intranet that display data about people (totally legal!!). we will call these people Alumni.

The structure is like this: there are three roles, administrators, alumni, watchers.

The alumni register themselves and input their data. During registration they choose which data is "private", which is "public". Alumni have to be accepted by administrators after registration.

Watchers can see public data of Alumni.

Alumni are Watchers in respect of other Alumni.

Administrators can watch also private data of the Alumni, modify this data, accept alumni after registration, delete Alumni.

Would be nice if alumni could cancel themselves with confirmation by administrators, but this is not urgent.

So, my idea is that alumni should be a CPT connected to the registered alumni maybe by author relationship or via a metadata. These post should be shown in front end only after login. Watchers and Alumni should not be able to login to the back end. As I said before in the alumni CPTs there is public data visible to all logged in users and private data visible only to the owner Alumni and Administrators.

I know is a bit tricky and I don't ask you for the code. But since I'm not expert in wordpress yet I would like to hear from you some suggestion about how to structurize the site and about which APIs or plugin should I use to achieve my target.

Many thanks!!

  • I'd go with podscms.org
    – kaiser
    Mar 15, 2012 at 14:52
  • What does it do?
    – Bakaburg
    Mar 15, 2012 at 21:29
  • 1
    It's the "CMS" plugin for WP. You can build complete DB structures to your needs incl. connections between them and WP built in stuff. Just take a look at their homepage. They got a nice UI plus a very good and easy to use API.
    – kaiser
    Mar 16, 2012 at 9:39
  • I'm giving a look to it and it looks very promising! Thanks!
    – Bakaburg
    Mar 24, 2012 at 14:38

1 Answer 1


This sounds like it's somewhat similar to a project I recently put together. You should check out the Role Scoper plugin: it will be an important puzzle-piece in making this work. It's a confusing plugin, but it's the way to go.

"Watchers" sound the same as a default role, "Subscribers," so you could stick with that. Alumni could be a custom role based on Subscribers with elevated privileges as follows:

You create either two custom posts types, or two categories, or two terms in a custom taxonomy, whatever: Public and Private. Alumni can post to either one, and can read either one. Subscribers (or Watchers, if you prefer) can read only Public.

If you want to set up custom taxonomies or post types, you can do it by hand, and the methods are well-documented, but there are plugins that make it easier. I used the Types plugin.

  • Thanks for your contribution! The public and private data, should apply to fields in the same custom post. These custom posts should show the data of an Alumni with the alumni itself choosing which data is available to see for subscribers and which is private so it's visible only to owner of the post and to the administrator.
    – Bakaburg
    Mar 15, 2012 at 21:31
  • 1
    You should go with Members for role management. It's actively developed and good coded.
    – kaiser
    Mar 16, 2012 at 9:40
  • Does it let me to show some post content only to some users? like there is a way in the wordpress api to recognize the access level of the currently logged user?
    – Bakaburg
    Mar 16, 2012 at 16:43
  • Yes, Members does restrictioned access based on roles too.
    – kaiser
    Mar 24, 2012 at 14:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.